java:停止子进程

问题描述:

有什么办法从Java启动非Java进程然后停止它?或者至少发送一些keyinput给它(例如alt + f4)?java:停止子进程

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

问题只是关于Windows操作系统。

+0

任何获得Java应用程序启动之前启动的Process对象的方法? 例如我开始记事本,然后我开始Java应用程序,和Java应用程序获取运行记事本的进程对象。 – 2010-06-17 08:57:08

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

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

要销毁,使用:Process.destroy() 根据JavaDoc:

杀死子进程。由此Process对象表示的子进程被强制终止。

+0

thx答案,这正是我需要 – 2010-06-17 09:12:29

+0

没问题。我无法找到您的评论/附录的答案。 – 2010-06-17 09:24:25

您可以使用Runtime.exec()开始一个新流程。然后用Process.getOutputStream()获得返回进程的标准输入,并将输入推送给它。最后你可以destroy()吧。

请注意,您必须使用流程中的所有输出才能使其正常运行。