Process

使用 kill -11 而不是 kill -9 有什麼危險嗎?

  • July 17, 2019

我最近意識到該kill實用程序可以發送我想要的任何信號,所以當我需要SIGKILL一個程序時(當它掛起或其他東西時),我發送 aSIGSEGV而不是為了笑一笑(kill -11而不是kill -9.)

但是,我不知道這是否是不好的做法。那麼,kill -11比 更危險kill -9嗎?如果是這樣,怎麼做?

SIGSEGV信號由核心發送到一個進行了無效虛擬記憶體引用(分段錯誤)的程序。

發送 aSIGSEGV可能更“危險”的一種方法是,如果您從空間不足的文件系統中終止程序。程序收到 a 時的預設操作SIGSEGV是將核心轉儲到文件然後終止。核心文件可能非常大,具體取決於程序,並且可能會填滿文件系統。

正如@Janka 已經提到的,您可以編寫程式碼來告訴您的程序您希望它如何處理SIGSEGV信號。您不能擷取 aSIGKILL或 a SIGSTOP。當您只想終止一個程序時,我建議使用 aSIGKILL或 a 。SIGSTOP使用 aSIGSEGV通常不會產生不良影響,但您想要終止的程序可能會SIGSEGV以您不期望的方式處理 a。

引用自:https://unix.stackexchange.com/questions/530682