我的bash脚本有:
usage: kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
但是,我在运行时会收到以下信息:
{{1}}
任何想法,如何解决这条问题?
答案 0 :(得分:2)
通常,您的命令是正确的。 如果正在运行foo.jar
进程,其PID将传递给kill
并且(应该)终止。
由于您使用kill
作为输出,这意味着您实际上是在没有参数的情况下调用kill
(尝试自行运行kill
,您将会看到同样的消息)。这意味着管道中没有输出实际到达xargs
,这反过来意味着foo.jar
没有运行。
尝试运行ps aux | grep foo.jar | grep -v grep
并查看您是否真的看到了结果。
答案 1 :(得分:1)
答案 2 :(得分:-4)
未经测试且最佳猜测(小心)
kill -9 $(ps -aux | grep foo.jar | grep -v grep | awk '{print $2}')
我重新迭代 UNTESTED ,因为我不在工作,无法访问putty或Unix。
我的理论是发送kill -9命令并从子shell命令调用中获取进程id。