从Java打开和关闭应用程序

时间:2014-03-07 10:47:07

标签: java processbuilder

我正在尝试使用ProcessBuilder cmd.exe 中启动应用程序,等待它完成然后关闭它。到目前为止我试过了:

String[] cmdline=new Stirng{}("cmd.exe","/C","start",application_and_parameters);
ProcessBuilder processBuilder = new ProcessBuilder(cmdline);
Process p = processBuilder.start();
//get error and input streams
int exitVal = p.waitFor();

按预期打开窗口,但不关闭。我试过了:

p.destroy()

并发送退出命令:

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
writer.write("exit");
writer.flush();

但没有成功,cmd保持不变。有人可以提出解决方案吗?

1 个答案:

答案 0 :(得分:0)

删除开始,它将直接执行您的进程而无需打开命令提示符,因此您无需手动关闭它。下面以代码片段为例

String[] cmdline=new String[]{"cmd.exe","/C","notepad.exe"};
                ProcessBuilder processBuilder = new ProcessBuilder(cmdline);
                Process p = processBuilder.start();
                //get error and input streams
                int exitVal = p.waitFor();
                System.out.println(exitVal);

相关问题