头文件:#include <signal.h>
函数原型:void (*signal(int signo, void (*func)(int)))(int);
参数 signo为UNIX系统信号
参数func的值为常量SIG_IGN、SIG_DFL或当接收到此信号后要调用的函数的地址。
SIG_IGN表示内核忽略此信号,SIGKILL和SIGSTOP不能忽略
SIG_DFL表示执行默认动作
返回值:返回一个函数指针,这个函数指针指向的函数无返回值(void),需要一个整形参数。
void signal_ignore()
{
signal(SIGTTIN, SIG_IGN);
signal(SIGTTOUT, SIG_IGN);
}
信号相关函数
1、kill和raise 函数 #include<signal.h>
int kill(pid_t pid, int signo)//向进程或进程组发送信号
int raise(int signo)//进程向自身发送信号
kill(getpid(), signo) == raise(signo)
2、alarm和pause函数 #include<unistd.h>
3、abort函数 #include<stdlib.h>
发送SIGABRT信号终止进程,方法是调用了raise(SIGABRT)