java:停止子进程

发布于 2024-09-05 16:14:22 字数 168 浏览 3 评论 0原文

有没有办法从Java启动非Java进程然后停止它?或者至少向它发送一些按键输入(例如 alt+f4)?

例如,我启动java应用程序,然后javaapp启动记事本,然后javaapp将alt+f4发送到记事本。 Javaapp 将从管理员帐户运行。

问题仅与 Windows 操作系统有关。

Is there any way to start non-Java process from Java and then stop it? Or at least send some keyinput to it (e.g. alt+f4)?

E.g. I start java app, then javaapp start notepad, then javaapp send alt+f4 to notepad. Javaapp will run from Administrator account.

Question is only about Windows OS.

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

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

发布评论

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

评论(2

轻拂→两袖风尘 2024-09-12 16:14:22

编辑:错过了有关启动的问题...

要创建,请使用 Runtime.getRuntime().exec()

要销毁,请使用: Process.destroy()
来自javadoc:

终止子进程。此 Process 对象代表的子进程被强制终止。

EDIT: missed question about starting...

To create, use Runtime.getRuntime().exec()

To destroy, use: Process.destroy()
From the javadoc:

Kills the subprocess. The subprocess represented by this Process object is forcibly terminated.

清浅ˋ旧时光 2024-09-12 16:14:22

您可以使用 Runtime.exec()。然后使用 Process.getOutputStream() 并将输入推送到其中。最后你可以 <代码>destroy()它。

请注意,您必须消耗该进程的所有输出才能使其正确运行。

You can start a new process with Runtime.exec(). Then get the standard input of the returned process with Process.getOutputStream() and push input to it. In the end you can destroy() it.

Note that you must consume all output from the process to make it run correctly.

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