kill和kill -9,兩個命令在linux中都有殺死進程的效果,執行kill命令,系統會發送一個SIGTERM信號給對應的程序。當程序接收到該signal信號后,有以下幾種情況: (1)程序立刻停止 (2)當程序釋放相應資源后再停止 (3)程序可能仍然繼續運行 大部分程序接收到SIGTERM信號后,會先釋放自己的資源,然后再停止。但是也有程序可能接收信號后,做一些其他的事情
(如果程序正在等待IO,可能就不會立馬做出響應,我在使用wkhtmltopdf轉pdf的項目中遇到這現象),也就是說,SIGTERM多半是會被阻塞的。 kill -9命令,系統給對應程序發送的信號是SIGKILL,即exit。exit信號不會被系統阻塞,所以kill -9能順利殺掉進程