极客漫画：不要使用 SIGKILL 的原因（看哭了）
或许你之前对如何杀死进程并没有感到什么不同，但是，看了这幅漫画，你不觉得那些孩子们（线程）很可怜么——虽然 温和的 SIGTERM 也是要全家干掉的。哭~
漫画 信号
118.122.120.11
reaper 不应该是 sysadmin，应该是 kernel 才对吧。
来自四川成都的 Chrome 59.0|GNU/Linux 用户
2017-08-14T10:50:49.000
118.122.120.11
而且我觉得它的孩子们，在图上描写的更应该是进程，而不是线程。如果是线程的话，那都应该被 KILL 才是。
来自四川成都的 Chrome 59.0|GNU/Linux 用户
2017-08-14T10:53:05.000
118.122.120.11
没有注意到图右下角，小企鹅头上的光环。
来自四川成都的 Chrome 59.0|GNU/Linux 用户
2017-08-14T13:38:51.000
101.81.76.109
我都是用SIGINT的，如果不起作用在SIGKILL
来自上海的 Chrome 60.0|GNU/Linux 用户
2017-08-14T14:33:54.000
14.196.205.171
好可怜，我以后不敢用 kill 了
来自北京的 Chromium 60.0|Ubuntu 用户
2017-08-16T21:42:16.000
58.63.60.83
还以为是命令……原来是开发者技巧啊。
文剑一飞 [Chrome 61.0|Windows 10]
2017-09-27T23:30:57.000
或许你之前对如何杀死进程并没有感到什么不同，但是，看了这幅漫画，你不觉得那些孩子们（线程）很可怜么——虽然 温和的 SIGTERM 也是要全家干掉的。哭~
![The Real Reason to Not Use SIGKILL](/data/attachment/album/201708/11/224326ic1j1jpgbkecejg8.png)


在 Linux 中，通常可以发送一些信号来杀死一个进程，一般用来杀死进程的信号有 SIGTERM、 SIGKILL。但是，如果希望进程合理地终止，就不要发送硬中断信号 SIGKILL，因为该信号是不能拦截的，进程接到该信号之后会马上退出，并没有机会进行现场清理——这包括对线程的关闭等操作。更好的做法是，发送 SIGTERM 信号，这样进程在接到该信号后，可以做一些退出的准备工作。


或许你之前对如何杀死进程并没有感到什么不同，但是，看了这幅漫画，你不觉得那些孩子们（线程）很可怜么——虽然 温和的 SIGTERM 也是要全家干掉的。哭~




---


via: <http://turnoff.us/geek/dont-sigkill/>


作者：[Daniel Stori](http://turnoff.us/about/) 译者&校对&点评：[wxy](https://github.com/wxy) 合成：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

