Windows OSの場合。Javaで処理するCtrl-Cを送信
Runtime.getRuntime()。exec();を使用してサブプロセスを開始します。 "ctrl-c"をプロセスに送信して停止したいとします。
私は、Runtime.getRuntime()。exec( "ping google.com -n 100000")を使用して小さな例を作成しました。 コードはそこに見つけることができます:http://pastebin.com/f6315063f
これまで、私はプロセスのoutputStream経由でchar '3'(ctrl-C文字)を送信しようとしました。ここで
は、コードのビットは次のとおりです。
cmd = re.exec("ping google.com -n 10000");
out = new BufferedWriter (new OutputStreamWriter(cmd.getOutputStream()));
input = new BufferedReader (new InputStreamReader(cmd.getInputStream()));
char ctrlBreak = (char)3;
//Different testing way to send the ctrlBreak;
out.write(ctrlBreak);
out.flush();
out.write(ctrlBreak+"\n");
out.flush();
私は私だけのCtrl-C信号を送信したい、プロセスを強制終了する必要はありません。 どうすればいいですか?
最終的には、何を達成しようとしていますか? –
古いDOS/windows3の周りにラッパーを行います。1/win95アプリケーション – Nettogrof
が動作するはずですが、ブレークは一度だけ送信してください。二度実行すると明らかにメインプロセスが終了します。 –