/proc/[PID]の信号テーブル

/proc/[PID]の信号テーブル

プロセスのシグナルを無視または変更しようとしています。推測したように、各プロセスには別々のシグナルテーブルがあります。

/procフォルダに似たものはありますか?

時間をいただきありがとうございます。

答え1

/proc/<pid>/status特定のプロセスの信号処理を記述するフィールドを含みます。man 5 procもっと学ぶ。たとえば、

 SigPnd: 0000000000000000
 ShdPnd: 0000000000000000
 SigBlk: 0000000000010000
 SigIgn: 0000000000384004
 SigCgt: 000000004b813efb

信号処理は外部から変更することはできず、それを使用してプロセスの信号処理に影響を与えることはできません。

プロセスを処理できる場合は、ptraceプロセスにデバッガを接続し、それを使用して信号処理を変更できます。

答え2

はい、以下の「参考」セクションをお読みくださいman 7 signal

ファイルには、スレッドがブロック()、キャプチャ()、または無視()していることを示す信号を表示するいくつかのフィールドが含まれています/proc/[pid]/task/[tid]/status。 (キャッチまたは無視されるシグナルセットはプロセス内のすべてのスレッドで同じです。)他のフィールドには、スレッド()に渡される保留中のシグナルセットと、渡される保留中のシグナルセットが表示されます。全体のプロセスは()です。の対応するフィールドには、基本スレッド情報が表示されます。詳細は参照してください。SigBlkSigCgtSigIgnSigPndShdPnd/proc/[pid]/statusproc(5)

関連情報