在 Linux 中,通常可以发送一些信号来杀死一个进程,一般用来杀死进程的信号有 SIGTERM、 SIGKILL。但是,如果希望进程合理地终止,就不要发送硬中断信号 SIGKILL,因为该信号是不能拦截的,进程接到该信号之后会马上退出,并没有机会进行现场清理——这包括对线程的关闭等操作。更好的做法是,发送 SIGTERM 信号,这样进程在接到该信号后,可以做一些退出的准备工作。
或许你之前对如何杀死进程并没有感到什么不同,但是,看了这幅漫画,你不觉得那些孩子们(线程)很可怜么——虽然 温和的 SIGTERM 也是要全家干掉的。哭~
via: http://turnoff.us/geek/dont-sigkill/
作者:Daniel Stori 译者&校对&点评:wxy 合成:wxy
reaper 不应该是 sysadmin,应该是 kernel 才对吧。
而且我觉得它的孩子们,在图上描写的更应该是进程,而不是线程。如果是线程的话,那都应该被 KILL 才是。
没有注意到图右下角,小企鹅头上的光环。
我都是用SIGINT的,如果不起作用在SIGKILL
好可怜,我以后不敢用 kill 了
还以为是命令……原来是开发者技巧啊。