日期:2014-05-16  浏览次数:20558 次

Linux 系统中的信号
  Linux中的SIGINT信号与Ctrl+c 是什么关系?? 他俩不是等同的吧,例如,ctrl+c可以结束带有子进程的进程,而kill -2 进程号 ,就不行。

------解决方案--------------------
执行ctrl + C 的时候,不但会对在执行进程发SIGINT信号,也会对其子进程发SIGINT信号

相当于,kill -2 进程号 && kill -2 子进程号
------解决方案--------------------
僵尸进程类似于孤鸿野鬼一样在进程结束后,没有用用wait()来接收的,所以他对ctrl + c不理会了!
------解决方案--------------------
ctrl+c不是绝对的,ctrl+x我也遇到过。是输入给终端的,终端收到之后具体发什么信号,那是终端的行为。
------解决方案--------------------
1、ctrl+c发出中断信号,接收者是前台进程组中的所有进程。
2、kill 2 进程号,也发出中断信号,但接收者只有指定的进程。
参见<UNIX环境高级编程>的第九章,进程关系,有关于会话和进程组详细讲解,学类UNIX环境的编程,这本书必备啊,圣经。