Я пытаюсь вызвать утилиту windump.exe из Java и убить ее через некоторое время (когда ее использование закончено).
Но я не уверен, как убить его из кода Java. Я попытался process.destroy()
и отправил Ctrl C
(char 3
) процессу, который запустил его, но ничего из этого не работает.
Я попытался с Runtime, а также ProcessBuilder
, чтобы вызвать и убить процесс, но результат тот же.
Я только начал использовать Java, любое предложение будет очень полезным. Это ограничение, которое Java не поддерживает? Или как убить двоичный файл, запущенный в cmd
из кода Java?
Я использую JavaSE1.6 и jre6 в Windows 7. Ниже приведен фрагмент кода.
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();