私の知る限り、アプリ(またはフリーズしたアプリ)を停止するたびに、タスクマネージャーに移動し、アプリGo to Process
を選択して、プロセスを終了します。 「終了プロセス」は「終了タスク」よりも優先されます(「終了タスク」が機能しない場合もあります)。
終了タスクの画像:
終了プロセスの画像:
ただし、 http://technet.Microsoft.com/en-us/library/bb726964.aspx :
プロセスを調べるとき、アプリケーションにはメインプロセスがありますが、1つのアプリケーションが複数のプロセスを開始する場合があることに注意してください。通常、これらのプロセスはメインアプリケーションプロセスに依存しており、メインアプリケーションプロセスを終了するか、タスクの終了を使用すると停止します。このため、通常は、依存プロセスではなく、メインアプリケーションプロセスまたはアプリケーション自体を終了する必要があります。
アプリを停止するとプロセスが停止するため、「タスクの終了」を優先すると言われています。しかし、私は彼らの論理をまったく理解していません。代わりに単にプロセスを停止してみませんか?
Ending Task
はEnding Process
に比べてどのような利点がありますか?
少なくとも1つのウィンドウがあるプログラムの場合、タスクの終了は、 X 「閉じる」ボタン– _WM_CLOSE
_メッセージをそのウィンドウに送信し、適切に閉じるように要求します。 (コンソールウィンドウの場合、同等のものは _CTRL_CLOSE_EVENT
_ です。)プログラムは、ユーザーに変更の保存またはさまざまなクリーンアップタスクの実行を求めることができます。プロセスが準拠している場合、タスクマネージャーは数秒待機し、プロセスがまだ実行されている場合はプロセスの終了を続行します。
プロセスがフリーズするか、受信したウィンドウメッセージを処理しない場合は、もちろん、タスクの終了も閉じるボタンも機能しません。このような場合、Windowsは通常、プログラムを強制的に終了するように要求しますが、プログラムに応答するのに十分な時間を与えた後でのみです。
一方、End Processボタンは、タスクやウィンドウとは関係ありません。TerminateProcess()
関数を呼び出し、Windowsはプロセスをすぐに破棄します。 、通知したり、クリーンアップする機会を与えたりすることなく。
(メモリなどのリソースは、プロセスが終了すると自動的に解放されますが、プログラムが作成した場合はさまざまな一時ファイルが残る可能性があります。もちろん、データの保存中にプロセスが終了すると、データが破損するリスクがあります。)
参照:
他の2つの回答は、whatが発生するという点で違いが何であるかをうまく説明していますが、howが発生するという点でどのように異なるかを概観するだけです。前者はプログラムを閉じるように指示し、後者はWindowsにkillプログラムを指示します。
例えとして、それは誰かに物を集めて部屋を出るように頼むことと、用心棒にすぐにそして強制的にそれらを追い出すように言うことの違いのようなものです。
詳細:タスクの終了は、アプリを正常に閉じようとします。ハングしている場合は、「今すぐ終了」するオプションが表示されます。これにより、プロセスを強制終了するよりも2つの利点があります(ブルートフォースでプロセスを一掃するだけです)。