用于在Ubuntu中停止可执行JAR的Shell脚本

时间:2015-02-23 10:46:52

标签: ubuntu jar

我使用下面的命令获取jar文件的PID。但目前还没有运行jar文件。但我仍然会打印一些随机数字。我害怕调用命令kill -9 $ PID。 任何人都可以分享那个随机数是什么意思吗?为什么即使jar文件没有运行也要打印。

PID=`ps -ef | grep RushMiddleLayer | awk '{ print $2 }'`
echo $PID

像423,461,457这样的随机数。请帮忙。

1 个答案:

答案 0 :(得分:1)

您的ps -ef | grepgrep中找到了自己的ps行,并返回grep进程的pid。如果它实际发现结果,它将返回两行或多行或结果。您可以自己检查命令的输出以进行验证,将最后一个命令awk ...替换为less

您可以使用正则表达式“技巧”并使用此grep代替,因此它找不到它自己的grep进程:

grep [R] ushMiddleLayer

但是如果有几个“RushMiddleLayer”正在运行,awk仍会在多行中返回多个pid。我相信其他命令可以处理它。