【问题标题】:Find unix command PID from Java [duplicate]从Java中查找unix命令PID [重复]
【发布时间】:2013-03-23 15:16:36
【问题描述】:

在unix中很容易得到前一个进程的PID-

echo $!

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

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

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

例如- 在 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。

【问题讨论】:

标签: java unix process pid


【解决方案1】:

不确定这是否有效;

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

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

【讨论】:

  • 已编辑以格式化您的代码。
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 2011-12-16
  • 2013-07-29
  • 2013-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多