如果存在,则终止进程

时间:2013-06-11 16:28:06

标签: bash shell kill-process

我想杀死正在运行的所有乐器进程。我正在使用这个:

sudo killall instruments

我在脚本中使用它,有时进程没有运行,它会停止我的脚本,说没有正在运行该名称的进程。

如何检查特定进程是否正在运行?在我的情况下仪器。

3 个答案:

答案 0 :(得分:22)

如果您的脚本正在终止,则很可能已启用set -e,以便在命令失败时退出。

如果您不关心状态,可以将|| true附加到命令:

sudo killall instruments || true

答案 1 :(得分:8)

sudo killall instruments 2>/dev/null

还不够?

答案 2 :(得分:6)

您可以使用pgrep <proc>搜索名为<proc>

的流程
if pgrep instruments &> /dev/null ; then sudo killall instruments ; fi