信号状態とはどういう意味ですか?

信号状態とはどういう意味ですか?

私は「Unix環境の高度なプログラミング」という本を読んでいます。

私が理解できない文は次のとおりです。

特に、これらのexec()機能は、キャプチャされた信号の処理を基本操作に変更し、他のすべての信号の状態を保存します。

信号の動作がデフォルトの動作に変更されたことがわかります。しかし、信号の状態はどうですか?

ベストアンサー1

存在する

具体的には、exec()関数はキャプチャされた信号の処理をデフォルトの操作に変更し、他のすべての信号の状態を維持します。

「他のすべての信号の状態」は、捕捉されていない信号、つまり無視される信号を示します(SIG_IGN)。

プログラムがシグナルハンドラを追加すると、プログラムはシグナルをキャプチャできます(もちろんキャプチャできない合計を除くSIGKILL)。関数をSIGSTOP呼び出すときにexec()関数が呼び出された後は、これらのシグナルハンドラのどれもプログラムには適用されませんexec()

プログラムが特定のシグナルのシグナルハンドラを追加しない場合、関数を呼び出してもシグナルがexec()プログラムに影響する方法は変わりません。

信号ハンドラは次のように設定できます。signalまたはsigaction

おすすめ記事