我使用下面的命令获取jar文件的PID。但目前还没有运行jar文件。但我仍然会打印一些随机数字。我害怕调用命令kill -9 $ PID。 任何人都可以分享那个随机数是什么意思吗?为什么即使jar文件没有运行也要打印。
PID=`ps -ef | grep RushMiddleLayer | awk '{ print $2 }'`
echo $PID
像423,461,457这样的随机数。请帮忙。
答案 0 :(得分:1)
您的ps -ef | grep
在grep
中找到了自己的ps
行,并返回grep
进程的pid。如果它实际发现结果,它将返回两行或多行或结果。您可以自己检查命令的输出以进行验证,将最后一个命令awk ...
替换为less
。
您可以使用正则表达式“技巧”并使用此grep代替,因此它找不到它自己的grep
进程:
grep [R] ushMiddleLayer
但是如果有几个“RushMiddleLayer”正在运行,awk
仍会在多行中返回多个pid。我相信其他命令可以处理它。