如何获得我刚刚在java程序中启动的进程的PID?

如何获得我刚刚在java程序中启动的进程的PID?

我已经开始使用以下代码进行处理

 ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "path");
 try {
     Process p = pb.start();       
 } 
 catch (IOException ex) {}

现在我需要知道我刚刚开始的进程的pid。


幕布斯7119047
浏览 1606回答 3
3回答

临摹微笑

目前还没有公共API。见Sun Bug 4244896,Sun Bug 4250622作为解决方法:Runtime.exec(...)返回一个类型的Objectjava.lang.ProcessProcess类是抽象的,你得到的是Process的一些子类,它是为你的操作系统设计的。例如,在Mac上,它返回java.lang.UnixProcess有一个名为的私有字段pid。使用Reflection,您可以轻松获得此字段的值。这无疑是一个黑客,但它可能会有所帮助。PID无论如何你还需要什么?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java