Bash

殺死所有目前正在執行的 cron 作業

  • February 13, 2018

出於某種原因,我的 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’那麼你可以殺死重要的東西,是的。

引用自:https://serverfault.com/questions/622804