我有一些脚本会在后台为任务生成多个进程。他们中的大多数会终止,但很少有人不会在完成任务时终止。
这些类型的进程的数量不断增加,现在它们正在消耗服务器资源的很大一部分。
他们都有一个状态,Sl
我怎样才能一次杀死他们所有人?就像,我想运行一个 cron,它会在有限的时间后从系统中杀死并删除所有这些进程。
我有一些脚本会在后台为任务生成多个进程。他们中的大多数会终止,但很少有人不会在完成任务时终止。
这些类型的进程的数量不断增加,现在它们正在消耗服务器资源的很大一部分。
他们都有一个状态,Sl
我怎样才能一次杀死他们所有人?就像,我想运行一个 cron,它会在有限的时间后从系统中杀死并删除所有这些进程。
此命令适用于我的系统以终止状态为“S”的 vi 进程。将 S 更改为 S1 并将进程名称正则表达式模式更改为任何您需要的内容。
crontab:
00 01 * * * ps ah -o pid,state,command | egrep "^.+\ S\ vi$" | cut -f1 -d' ' | xargs kill -KILL
我建议你研究一些更优雅的东西,比如在你现有的脚本中构建一些东西来处理挂起的进程或者弄清楚它们为什么不退出等等......