Process
使用 kill -11 而不是 kill -9 有什麼危險嗎?
我最近意識到該
kill
實用程序可以發送我想要的任何信號,所以當我需要SIGKILL
一個程序時(當它掛起或其他東西時),我發送 aSIGSEGV
而不是為了笑一笑(kill -11
而不是kill -9
.)但是,我不知道這是否是不好的做法。那麼,
kill -11
比 更危險kill -9
嗎?如果是這樣,怎麼做?
該
SIGSEGV
信號由核心發送到一個進行了無效虛擬記憶體引用(分段錯誤)的程序。發送 a
SIGSEGV
可能更“危險”的一種方法是,如果您從空間不足的文件系統中終止程序。程序收到 a 時的預設操作SIGSEGV
是將核心轉儲到文件然後終止。核心文件可能非常大,具體取決於程序,並且可能會填滿文件系統。正如@Janka 已經提到的,您可以編寫程式碼來告訴您的程序您希望它如何處理
SIGSEGV
信號。您不能擷取 aSIGKILL
或 aSIGSTOP
。當您只想終止一個程序時,我建議使用 aSIGKILL
或 a 。SIGSTOP
使用 aSIGSEGV
通常不會產生不良影響,但您想要終止的程序可能會SIGSEGV
以您不期望的方式處理 a。