/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)

相关内容