我正在尝试从 Java 调用实用程序 windump.exe 并在一段时间后将其杀死(当它的使用结束时)。
但是,我不确定如何从 Java 代码中杀死它。我已尝试process.destroy()
发送Ctrl C
( char 3
) 来启动它的进程,但这些都不起作用。我尝试使用运行时以及ProcessBuilder
调用和终止进程,但结果是相同的。
我刚开始使用Java,任何建议都会有很大帮助。这是Java不支持的限制吗?或者杀死cmd
从Java代码开始的二进制文件的方法是什么?
我在 Windows 7 中使用 JavaSE1.6 和 jre6。以下是代码片段。
ProcessBuilder pb = new ProcessBuilder("cmd","/c start D:\\windump.exe -s 0 -i 5 -A -w D:\\vne.pcap");
Process WinDumpProc = null;
WinDumpProc = pb.start();
Thread.sleep(3000);
BufferedWriter out = new BufferedWriter (new OutputStreamWriter(WinDumpProc.getOutputStream()));
out.write((char)3);
out.flush();
WinDumpProc.destroy();