Bash
殺死所有目前正在執行的 cron 作業
出於某種原因,我的 cron 作業腳本沒有乾淨地退出,它們正在備份我的伺服器。目前有幾百個程序正在為我的一個使用者執行。我可以使用以下命令來殺死該使用者的所有程序,但是如何簡化它以僅殺死 crons?
pgrep -U username | while read id ; do kill -6 $id ; done
按原樣執行上述命令會很危險,對嗎?那不會殺死mysql和其他重要的東西嗎?
要為使用者終止所有程序,您有幾個選項。我喜歡:
su - username
那麼kill -9 -1
要查看哪些“cron”程序屬於使用者:
pgrep -u username cron
要殺死這些程序:
pkill -u username cron
採用:
kill -6 $(pgrep -U username cron)
-f
如果您需要殺死特定的 cron 作業,同時讓其他人存活,您可以使用 pgrep 帶 arg 的完整字元串進行搜尋。
kill
信號真的很危險,所以你應該檢查你要殺死的東西。如果使用者名是’root’那麼你可以殺死重要的東西,是的。