0

Java からユーティリティ windump.exe を呼び出し、しばらくしてから (使用が終了したときに) 強制終了しようとしています。

しかし、Javaコードからそれを殺す方法がわかりません。( ) を開始したプロセスにprocess.destroy()送信しようとしましたが、どれも機能していません。ランタイムでプロセスを呼び出して強制終了しようとしましたが、結果は同じです。Ctrl Cchar 3ProcessBuilder

私は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();
4

1 に答える 1

0

ここでの問題は、それ自体が windump.exe の子プロセスを作成する cmd のプロセスを作成していることです。代わりに直接 windum.exe を起動してください。

于 2011-07-04T13:45:22.733 に答える