web-dev-qa-db-ja.com

システムモニターで、Kill ProcessとEnd Processの違いは何ですか?

システムモニターを使用してプロセスを強制終了する場合、2つの簡単な方法、プロセスの強制終了とプロセスの終了が表示されます。これら2つの違いは何ですか?

13
Luis Alvarado

システムモニターのマニュアルに従って、通常は「プロセスの終了」を使用する必要があり、それが失敗した場合にのみ「プロセスの終了」を使用します。

通常、プロセスを終了するには、プロセスを終了するで説明されているようにプロセスを正常に終了できない場合にのみプロセスを終了します。

技術的なレベルでは、これにより、エンドプロセスはSIGQUITを送信し、必要に応じてプロセスがトラップしてクリーンアップを実行できるようになりますが、それが失敗した場合、Kill ProcessはSIGKILLを送信する必要があります。控えめに使用してください!

8
roadmr

私も好奇心was盛だったので、ソースコードを参照してみると application.cpp に以下が見つかりました。このコードには他にもありますが、少なくともシステムモニター3.8.2.1〜3.19.3の場合、これらはオプションに関連すると思います。

  • プロセスの停止= SIGSTOP信号の一時停止、後でSIGCONTを続けましょう、プロセスを強制終了しません)
  • プロセスの終了= SIGTERM終了信号、正しい方法、アプリケーションはこの信号を傍受して開始することができます一時ファイルのクリーンアップなどのシャットダウンタスク)
  • キルプロセス= SIGKILLkill signal、極端、SIGTERMが機能しない場合のみ使用、勝ちシャットダウンタスクを開始しない)

すべてのkill/quit/shutdownシグナルとそれらの違いに関する適切な説明については、 SIGINT、SIGTERM、SIGKILL、およびSIGSTOPシグナルに関するQuoraに関するこの質問 を参照してください。

Source code highlight

7
Elijah Lynn