java中如何获取进程id?

发布于 2024-10-10 13:11:54 字数 393 浏览 2 评论 0原文

我正在尝试找到一种以编程方式打开和关闭应用程序的方法。我可以轻松地使用启动应用程序

 Runtime.getRuntime().exec(new String[] {"open", "<path to application>"});

,但是,我能找到关闭它的唯一方法是使用该行

 Runtime.getRuntime().exec(new String[] {"kill", "<process id#>"});

,除了手动打开终端并使用 top 查找 # 之外,我无法找到获取 id # 的方法。如果有一种编程方式来获取此 ID,或者只是一种更好的方式来打开和关闭应用程序,我很想听听。

谢谢

I am trying to find a way to programmaticaly open and close an application. I can launch the application easily using

 Runtime.getRuntime().exec(new String[] {"open", "<path to application>"});

however, the only way I can find to close it is to use the line

 Runtime.getRuntime().exec(new String[] {"kill", "<process id#>"});

and I can't find anyway to get the id # other than manually opening terminal and using top to find the #. If there is a programmatic way to get this id, or just a better way to go about opening and closing applications i would love to hear about it.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

飘过的浮云 2024-10-17 13:11:54

使用 java.lang.ProcessBuilder 启动子进程。返回的 Process 对象有一个 destroy() 方法,可以让你杀死它。

Use a java.lang.ProcessBuilder to start the subprocess. The returned Process object has a destroy() method which will let you kill it.

贱贱哒 2024-10-17 13:11:54

这可能与原始海报不再相关(由于经过的时间),但只是为了完整性......

您可以通过 exec(...) 获得进程对象的句柄 命令:

Process myProcess = Runtime.getRuntime().exec("mybin");

然后您可以随时使用 destroy() 进行终止:

myProcess.destroy();

注意:这可能与 Jim 所描述的类似,但不使用 ProcessBuilder

This probably isn't relevant anymore to the original poster (due to the elapsed time) but just for the sake of completeness...

You get a handle to the process object as a result of the exec(...) command:

Process myProcess = Runtime.getRuntime().exec("mybin");

You can then kill at any later time with destroy():

myProcess.destroy();

Note: This might be similar to what Jim was describing but not using the ProcessBuilder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文