如果不处理信号,程序会结束,但如果程序捕获并处理信号,则按照逻辑不一定会结束。
在这三个信号中,sigkill无法捕获。 程序收到这个信号后,一定会结束。 这就是我能保证kill -9杀了程序的原因
1 .基尔PID、基尔-15PID、基尔-sigterm
系统将SIGTERM的信号发送到对应的程序。 当程序接收到此signal时,会发生以下情况
程序立即停止如果程序释放了相应的资源,然后停止程序,则大多数程序可能还在继续运行。 大多数程序在接收到SIGTERM信号后,首先释放自己的资源,然后停止。 但是,有些程序在收到信号量后,会做其他事情。 而且,这些事情可以安排。 如果程序正在等待IO,则可能无法立即处理。 也就是说,SIGTERM的大部分被屏蔽,被忽略。
2.kill -9pid、kill -SIGKILL
SIGKILL不能被APP应用程序捕获、阻止或忽略。 其动作是立即结束指定的进程
3.killed-SIGINI pid
参考: http://blog.itpub.net/12474069/view space-622446 /