java:停止子进程
有没有办法从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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:错过了有关启动的问题...
要创建,请使用 Runtime.getRuntime().exec()
要销毁,请使用: Process.destroy()
来自javadoc:
EDIT: missed question about starting...
To create, use Runtime.getRuntime().exec()
To destroy, use: Process.destroy()
From the javadoc:
您可以使用
Runtime.exec()
。然后使用Process.getOutputStream()
并将输入推送到其中。最后你可以 <代码>destroy()它。请注意,您必须消耗该进程的所有输出才能使其正确运行。
You can start a new process with
Runtime.exec()
. Then get the standard input of the returned process withProcess.getOutputStream()
and push input to it. In the end you candestroy()
it.Note that you must consume all output from the process to make it run correctly.