“kill -9 ...”从脚本运行时会引发警告

“kill -9 ...”从脚本运行时会引发警告

在我的脚本中我有这个:

#!/bin/bash

kill -9 $(ps aux | grep '[m]y_app' | awk '{print $2}')
sleep 3
ENV_VAR=val123 nohup my_app &

为什么它会打印这个:

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

“杀死”有什么错?

当我手动运行该线路时kill -9 $(ps aux | grep '[m]y_app' | awk '{print $2}'),它不会引发任何警告。

答案1

我刚刚尝试了完全相同的代码(使用一些随机应用程序),并且它在命令行和脚本(在 Debian Jessie 上)中都可以正常工作。

要调试您的情况,请尝试回显您传递给脚本内的kill命令的内容......

#!/bin/bash

echo $(ps aux | grep '[m]y_app' | awk '{print $2}')

...看看它是否按预期返回 pid。

答案2

尝试按进程名终止:

pkill -9 my_app

相关内容