1.发送信号给任意进程 int kill(pid_t pid, int sig);
成功0;失败EOF
示例 kill(pid,9);
pid: 正数,要接收信号的进程号;0,信号被发送到与pid进程相同的进程组中;-1,信号发送给所有的进程表中的进程
sig: 信号
2.发送给当前进程 int raise(int sig);
成功0,错误-1
示例 · raise(9);
sig: 信号
3.闹钟信号发送 unsigned int alarm(unsined int seconds);
成功:如果调用此次alarm前,进程已经有闹钟时间,则返回上一个闹钟时间的剩余时间,否则0;
出错-1
seconds 指定秒数
alarm只会发送SIGALARM信号;alarm会让内核定时一段时间后发送信号,raise会让内核立刻发送信号。
4.信号处理 void (*signal(int signum, void (*handler)(int)))(int);
成功时返回原先的信号处理函数,失败SIG_ERR
示例 void myfun(int signum);
signal(14,myfun);
signal(14,SIG_IGN);
signal(14,SIG_DFL);
signum 要设置的信号类型
handler 指定的信号处理函数:1、SIG_DFL代表缺省方式,2、SIG_IGN代表忽略信号,信号处理函数的接口是确定的,传入int,无返回值