Kill
什麼是殺死程序的非積極方式?
我想通過命令行關閉一個程序(比如 Firefox 或 Thunderbird)。該程序執行良好,理論上我可以轉到文件>關閉。但是,我想通過命令行執行此操作,因此這不是一個選項。我可以終止程序(例如
pkill firefox
),但從它的聲音來看,這是關閉程序的一種非常殘酷的方式。事實上,我習慣於將此作為最後的手段,尤其是在程序掛起時。老實說,我不知道這是否是退出程序的正確方法。是嗎?還是有更好的關閉程序的方法?
kill
向程序發送信號,它預設發送 TERM 信號。TERM 信號可以被程序“擷取”,即它們可以監視它,並且當接收到它時它們可以採取行動。在許多情況下,Linux 程序在發送 TERM 信號時會正常執行 - 即它們會整理自己然後乾淨地關閉。假設開發人員已經正確處理了這種情況,那麼
kill
關閉許多程序的一種完全有效的方法也是如此。它是否適用於任何給定的流程取決於開發人員。
只有一些像 KILL 這樣的信號不能被擷取,你使用
kill
by running發送一個 KILLkill -9
,這對程序的破壞性要大得多,因為它們沒有機會清理。