如何在freeBSD的命令行中获取java进程的进程id,sh

Ron*_*dog 3 java unix linux bash shell

我需要一些帮助来编写一个将被放入.sh的命令.我想返回进程ID,它在下面的输出中是3678,但我有diffuclty因为进程id每次重新启动时都会改变,所以我的代码中断了

输出:

[root@server1 /usr/home/aaron]# ps -xauww | grep java | grep www
www      3678  0.0  3.2 1308176 267864  ??  Is    3:21PM   0:17.19 [java]
[root@server1 /usr/home/aaron]#
Run Code Online (Sandbox Code Playgroud)

继续我正在做的事情直到我意识到当pid改变时列改变了:

ps -xauww | grep java | grep www | cut -d" " -f6
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.谢谢.

she*_*lic 13

如果通过shell脚本自动启动,则可以编写变量中刚刚启动的进程的pid $!.

java ...... &
echo "$!" > myjavaprogram.pid
Run Code Online (Sandbox Code Playgroud)

当你需要杀死它时,只需:

kill `cat myjavaprogram.pid`
Run Code Online (Sandbox Code Playgroud)