终止所有当前正在运行的 cron 作业

终止所有当前正在运行的 cron 作业

由于某种原因,我的 cron 作业脚本无法正常退出,并且它们正在备份我的服务器。目前有数百个进程正在为我的一个用户运行。我可以使用以下命令来终止该用户的所有进程,但我如何才能简化此过程以仅终止 cron?

pgrep -U username | while read id ; do kill -6 $id ; done

照原样运行上述命令会很危险,对吗?这不会杀死 mysql 和其他重要的东西吗?

答案1

要终止用户的所有进程,您有几个选项。我喜欢: su - username然后kill -9 -1

查看哪些“cron”进程属于用户:

pgrep -u username cron

要终止这些进程:

pkill -u username cron

答案2

使用:

kill -6 $(pgrep -U username cron) 

-f如果您需要终止特定的 cron 作业,同时让其他作业继续运行,您可以使用带有 arg 的 pgrep 完整字符串进行搜索。

kill信号确实非常危险,所以你应该检查一下要杀死什么。如果用户名是“root”,那么你可以杀死重要的东西,是的。

相关内容