2011-10-02 65 views
1

我正在使用Apache Commons Exec JAR來創建進程。不過,我想控制正在調用的進程的進程ID。Apache Commons Exec的進程對象

有沒有辦法從Apache Commons Exec api獲取'Process'對象?我沒有很好的公共方法返回'流程類。

回答

0

http://commons.apache.org/exec/apidocs/index.html

接口CommandLauncher包含幾個exec方法,返回Process

但無論如何你沒有辦法控制進程ID:這是操作系統的責任。而且,標準的Java API甚至不允許你檢索進程ID。在較老的java版本中有一個技巧:Process包含的int字段pid的實現可以使用反射來檢索。但是這在1.6版本中有所改變。

+0

感謝您的信息。過程對象與我在這裏提出的另一個問題有關。我在這裏使用JNA [link](http://stackoverflow.com/questions/4912282/java-tool-method-to-force-kill-a-child-process/6032734#6032734)來檢索過程id並使用windows的taskkill命令終止整個進程樹。 –