学号-姓名17041511-陈涛
作业学习目标1、了解信号的概念 2、掌握信号处理的方法

1.编写一个简单的程序并运行,然后向该进程发送不同的信号以观察该进程对接收到信号的反应。
//hellosignal.c #include#includeint main() {	printf("hello signal! I'm %d\n", getpid());	while(1)	{	write(STDOUT_FILENO, ".", 1);	sleep(10);	} return 0; }
//hellosignal.c(修改后) #include#includeint main() {	printf("Hello Signal! I'm %d\n", getpid());	while(1)	{	write(STDOUT_FILENO, "*", 1);	sleep(10);	} return 0; }
1)在当前终端通过按键组合向该进程发送信号CTRL+C、CTRL+Z、CTRL+\ 观察三种信号及其对应的进程反应,如下所示。
2) 另开启一个终端,在终端通过输入kill 命令来给进程发送信号,进程的 pid 在程序运行的第一行输出,每次运行程序的时候 pid 是不同的, 我们可以在终端通过输入kill -l 来查看当前系统当中的信号列表 对于kill 命令我们可以查看手册: mankill
重新运行程序:在当前终端我们可以看到程序输出自己的 pid 是3592,这是我们可以另开一个终端,通过kill 命令向该进程发送信号,这里发送了信号值为9的信号给了进程3592.再切换到运行程序的终端来观察进程接收到信号后的反应。
3) 我们编写一个简单的程序,该程序调用kill() 函数向某个进程发送信号
//mykill.c #include#include#include#includeint main(int argc,char *argv[]){	if(argc