一時停止したプロセスが終了しても、プログラムは実行され続けていますか?

一時停止したプロセスが終了しても、プログラムは実行され続けていますか?

もし私が一時停止プロセスFirefoxと呼ばれるものを使っているとしましょう。ctrl+z Linuxで。後で私プロセスを終了しました。#kill -9 <3643>Firefoxプログラムは次の場所にあります。運行中の状態ですか?

* 3643は、#pgrep firefoxコマンドで提供されるプロセスIDです。

ベストアンサー1

少なくともLinuxでは、Ctrl-Zを使用してプログラムを一時停止するか(私の考えでは転送されますSIGTSTP)、次のものを使用できます。SIGSTOPT

  • SIGTERM( )を使って撮影してもすぐにkill $pid効果はありません。信号をキューに追加し、プロセスが続く場合はそれを処理します。プロセスにすでにシグナルハンドラがインストールされている可能性があります。
  • SIGKILL()を使って撮影するとkill -9 $pid信号を取り込むことができないため、他を待つ前に終了する必要があります。 (ロードされたシステムでは、これが実際にどれほど瞬間的であるかわかりません。)

ただし、プロセスがD状態(通常はI / Oに関連する「ノンストップスリープ」)にある場合、待機中のSIGKILL内容が解決されるまでプロセスは終了しない可能性があります。

おすすめ記事