如何在调用shell执行一串命令时运行pkill?

时间:2014-03-11 15:37:46

标签: linux bash shell unix process

为了自动执行系统管理任务,我写下了以下一行shell代码:

bash -c 'pkill -TERM -f java; true'

问题是pkill在执行pkill命令后立即杀死bash,因此后续命令没有机会执行。

除了将它们分成两行:

bash -c 'pkill -TERM -f java'
bash -c 'true'

还有其他解决方法吗?

1 个答案:

答案 0 :(得分:2)

如果要杀死所有java进程,只需删除-f

bash -c 'pkill -TERM java; true'

如果你真的想要杀死像mplayer "jungle_gremlins_of_java.avi"这样的非java进程,典型的“解决方案”是重写命令,使模式与自身不匹配:

bash -c 'pkill -TERM -f "[j]ava"; true'