从Java中查找unix命令PID

时间:2013-04-02 10:51:05

标签: java unix process pid

很容易在unix中获得前一个过程的PID -

echo $!

但是,假设我通过Java执行unix命令 -

Process process=Runtime.getRuntime().exec("myScript.sh");

现在,我现在如何通过Java获取“myScript.sh” PID ??

e.g.- 在Unix中,我们会 - 1.执行myScript.sh 2.执行ps -ef | grep -i "myScript.sh" | grep -v grep

输出就像 -

     UID   PID  PPID   C    STIME TTY         TIME CMD
userprod 11764 28386   0 05:57:45 pts/3       0:01 myScript.sh

我需要通过Java 是PID,在这种情况下是“11764”。

p.s.-脚本也将从Java执行,而不是从shell执行。

1 个答案:

答案 0 :(得分:0)

不确定这是否有效;

that process(Process process=Runtime.getRuntime().exec("myScript.sh"))

是一个java.lang.UNIXProcess,它有一个字段pid;使用反射来获取值