私はコマンドラインアプリケーションを作成しています。これはプロセス(ユーザーが定義したコマンド、通常はHTTPサーバー)を生成し、アプリケーションのジョブが完了したらプロセスは終了すべきであることを知っている。Windowsでコマンドラインアプリケーションを正常に終了する
UNIXでは、SIGTERMを送信することでこれを行うことができます。プロセスが終了しない場合は、残念ながらSIGKILLによってkillすることができます。
Windowsでは、SIGTERMシナリオの代替案を見つけるのに苦労します。私は、したがって、私はそれをテストすることはできません、taskkill /PID XXXX
は、ボンネットの下に何をするかについての情報を発見した(!/f
なし)taskkill /PID XXXX
があります学んだが、
- 。
taskkill /PID XXXX
がプロセス側から送信したものをどのように処理するのか分かりません。 cmd.exe
のコマンドでは動作しないようです。私はそれを、1cmd.exe
に単純なサーバー・プロセスを実行taskkill /PID XXXX
に別のウィンドウでそのPIDとを取得しようとしましたが、それを行うにはtaskkill断っ:ERROR: The process with PID XXXX could not be terminated. Reason: This process can only be terminated forcefully (with /F option).
だから私の質問は:コマンドラインプロセスを通知する方法Windowsでは、強制終了せずに終了する必要がありますか?終了する側のプロセスでこのようなメッセージを受信して処理する方法は?
これらの信号をJavaScript(node.js)などのプログラミング言語から送信するにはどうすればよいですか? –
@HonzaJavorek:申し訳ありませんが、私はしません。たぶんあなたは質問に適切な言語タグを追加して、知っている人に質問に気づかせるべきでしょう。 –