一、信号是什么?
信号是系统响应某个条件而产生的事件,进程接收到信号会执行相应的操作。与信号有关的系统调用在“signal.h”头文件中有声明。
二、常用信号
二、改变信号响应方式
这里改变函数Linux上ctrl+c这个操作的响应
1.代码如下(示例)
输出:
2.仿写系统的kill指令
//传入参数3个 1.程序名字 2.要结束进程的pid 3.发送的信号值
int main(int argc,char*argv[])
{
if(argc!=3)
{
return;
}
int pid=0;
int sig=0;
sscanf(argv[1],"%d",&pid);
sscanf(argv[2],"%d",&sig);
if(kill(pid,sig)==-1)//失败返回-1,成功返回0;
{
perror("kill err\n");
}
exit(0);
}
输出:
总结
以上就是对信号的简单记录。其中-9信号不能被自定义和忽略。