信号是系统响应某个条件而产生的事件,进程接收到信号会执行相应的操作。
2、修改信号的相应方式——signal() 利用signal()可以将指定的信号进行修改
忽略信号:SIG_IGN
默认处理:SIG_DFL
自定义的:自己写的信号处理函数
示例1:
例如下面这段程序表明将SIGINT(键盘按下ctrl+c时,产生该信号)信号修改为自定义的fun处理函数
#include
程序运行如下:
kill() 可以向指定的进程发送指定的信号‘
int kill(pid_t pid,int sig);
pid > 0 指定将信号发送个那个进程
pid == 0 信号被发送到和当前进程在同一个进程组的进程
pid == -1 将信号发送给系统上有权限发送的所有的进程
pid < -1 将信号发送给进程组 id 等于 pid 绝对值,并且有权限发送的所有的进程。
sig 指定发送信号的类型。
示例2:
下面的代码表示:运行此程序并输入一个进程的pid,将该进程使用sig信号进行处理
#include
程序运行如下:
查询示例1的进程id,然后运行实例2,使用SIGKILL(#define SIGKILL 9)信号杀死进程14851(示例1)