除非万无一失,否则不要使用 kill-9 有必要! SIGKILL 不能被困住,所以 被终止的程序无法运行任何程序 关闭例程,例如删除 首先尝试 HUP (1) , 然后 INT (2) ,然后退出(3)
我原则上同意 SIGKILL
,但其余的对我来说是新闻。假设 kill
发送的默认信号是 SIGTERM
,我认为它是任意进程优雅关闭最常见的预期信号。此外,我还看到过 SIGHUP
用于非终止原因,例如告诉守护进程“重新读取您的配置文件”在我看来,SIGINT
(与 Ctrl-C 通常会遇到的中断相同,对吗?)没有得到应有的广泛支持,或者结束得很不体面。
考虑到 SIGKILL
是最后的手段,您是否应该发送到任意进程,以便尽可能优雅地关闭它?
如果可以的话,请用支持性事实(超越个人偏好或意见)或参考资料来证实你的答案。
注意: 我对包括 bash/Cygwin 在内的最佳实践特别感兴趣。
编辑: 到目前为止,似乎没有人提到 INT 或者 QUIT,也很少提到 HUP。有没有理由把这些列入一个有序的程序——杀戮?