Bootstrap

APUE(第十章)信号

某个信号出现时,内核有3种处理方式。
1.忽略信号(SIGKILL和SIGSTOP不能被忽略)
2.捕捉信号(SIGKILL和SIGSTOP不能被捕捉)
3.执行系统默认动作


常见信号
  • SIGCHLD:一个进程被终止时,该信号被发给其父进程。
  • SIGINT:用户中断,按CTRL+C时会发出该信号。
  • SIGKILL:强制杀死进程,不能被捕捉或忽略。命令 kill -9
  • SIGTERM:发出系统默认的终止信号。进程在退出前有机会做好清理工作。
  • SIGQUIT:终止进程并产生core文件。CTRL+\
  • SIGSTOP:停止进程.CTRL+Z。SIGCONT信号可继续该进程
  • SIGUSR1,SIGUSR2:用户定义信号

信号机制的接口函数是
void (*signal(int signo, void (*func)(int)))(int);
func的值如果是SIG_IGN则表示忽略此信号,如果是SIG_DFL是执行默认动作。

;