
Windowsを使用できることは知っていますタスクキルユーティリティ応答しないプロセスを「強制終了」します。しかし、実行中で問題のないプロセスに対してこれを呼び出した場合はどうなるでしょうか。taskkill はまずそのプロセスを通常どおり終了しようとするのでしょうか。
PS. 私が質問する理由は、スクリプトから taskkill を使用して 1 つのプログラムを閉じたいのですが、最初に「正常に」終了させずにプログラムのプロセスを「強制的に」終了させる場合は使用しないからです。
答え1
デフォルトでは、taskkill ユーティリティはプロセスに WM_CLOSE シグナルを送信します。これは、タイトルバーの赤い x をクリックしたときに送信されるシグナルと同じです。
適切に作成されたアプリはこの信号をリッスンし、クリーンアップを開始して終了します。
スタックしている場合は、これを行うことができず、応答がないとみなされます。Taskkill は通常のシャットダウンを待機し、その後、ユーザーに無条件シャットダウンを要求します。
/f パラメータを使用すると、無条件シャットダウンに直接進むことができます。
したがって、質問に対する回答としては、アプリを強制的に閉じたくない場合は、/f パラメータなしで taskkill を使用します。