在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”。
ps-脚本也将从 Java 执行,而不是从 shell。