私の考えでは、Linuxシグナルは次のように動作します。
すべてのプロセスにはすべての信号の基本信号ハンドラがあり、一部の信号の基本信号ハンドラはプロセスを終了しますが、他の信号の基本信号ハンドラは信号を無視します。
次の表は、基本シグナルハンドラが実行できるすべての操作を示しています。文書):
学期 基本的な作業はプロセスを終了することです。
イゴン デフォルトの動作は信号を無視することです。
核兵器 基本的な作業は、プロセスを終了してコアをダンプすることです(core(5)を参照)。
止める 基本的な作業はプロセスを停止することです。
続く 基本的な作業は、現在停止しているプロセスを続行することです。
基本的なシグナルハンドラを独自のものにオーバーライドできます。信号()(もう使用されていないと思います)またはシグアクション()。
これまで私の言葉は正しいですか?
今私の質問は:基本的な信号ハンドラを無視できない信号がありますか?
答え1
リンクした両方のマニュアルページは、ハンドラをオーバーライドできない信号に言及しています。存在するsignal(2)
:
これらの信号は捕捉または無視
SIGKILL
できません。SIGSTOP
存在する sigaction(2)
:
兆候
SIGKILL
sum以外の有効な信号である可能性がある信号を指定しますSIGSTOP
。