<分区>
在unix中很容易得到上一个进程的PID-
echo $!
但是,假设我通过 Java 执行一个 unix 命令-
Process process=Runtime.getRuntime().exec("myScript.sh");
现在,我现在如何通过 Java 获取“myScript.sh”的 PID??
例如-
在 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 中执行。