Shell 在 Ubuntu 中停止可执行 JAR 的脚本
Shell Script to Stop an Executable JAR in Ubuntu
我使用以下命令获取 jar 文件的 PID。但目前没有 jar 文件 运行。但我仍然打印了一些随机数。我害怕调用命令 kill -9 $PID。
谁能分享那个随机数是什么意思?为什么即使 jar 文件不是 运行.
也会打印
PID=`ps -ef | grep RushMiddleLayer | awk '{ print }'`
echo $PID
423、461、457 之类的随机数。请帮忙。
您的 ps -ef | grep
在 ps
中找到它自己的 grep
行,并且 return 获取 grep
进程的 pid。如果它确实找到了一个结果,它将 return 两行或更多行或结果。您可以自己检查命令的输出以进行验证,将最后一个命令 awk ...
替换为 less
.
您可以使用正则表达式 "trick" 并改用此 grep,因此它找不到自己的 grep
进程:
grep [R]ushMiddleLayer
但是如果有多个 "RushMiddleLayer" 运行,awk
仍然会在多行中 return 多个 pid。我相信您的其余命令可以处理。
我使用以下命令获取 jar 文件的 PID。但目前没有 jar 文件 运行。但我仍然打印了一些随机数。我害怕调用命令 kill -9 $PID。 谁能分享那个随机数是什么意思?为什么即使 jar 文件不是 运行.
也会打印PID=`ps -ef | grep RushMiddleLayer | awk '{ print }'`
echo $PID
423、461、457 之类的随机数。请帮忙。
您的 ps -ef | grep
在 ps
中找到它自己的 grep
行,并且 return 获取 grep
进程的 pid。如果它确实找到了一个结果,它将 return 两行或更多行或结果。您可以自己检查命令的输出以进行验证,将最后一个命令 awk ...
替换为 less
.
您可以使用正则表达式 "trick" 并改用此 grep,因此它找不到自己的 grep
进程:
grep [R]ushMiddleLayer
但是如果有多个 "RushMiddleLayer" 运行,awk
仍然会在多行中 return 多个 pid。我相信您的其余命令可以处理。