如果存在,则终止进程

Sir*_*III 11 bash shell kill-process

我想杀死正在运行的所有仪器进程.我用这个:

sudo killall instruments

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

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

tha*_*guy 22

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

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

sudo killall instruments || true
Run Code Online (Sandbox Code Playgroud)


小智 8

sudo killall instruments 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

还不够吗?


gio*_*ano 6

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

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

  • 如果你正在使用`pgrep`,不妨使用`pkill` (5认同)