由于某种原因,我的 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”,那么你可以杀死重要的东西,是的。