Linux:如何查看事件进程是否设置了信号处理程序?

标签 linux signals

有一个进程正在运行,我想知道它是否设置了一些信号处理程序。 我记得我曾经在某个地方读过一些关于这个的东西,但找不到这样的信息。可能吗?

谢谢

最佳答案

非常喜欢 - 大概这些实际上是信号集......

cat/proc/self/状态 | grep -i '^Sig'

SigQ:   0/31404
SigPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000803
SigCgt: 0000000180014664

似乎可以制作一个实用程序来打印这些 - 除非有人已经知道了?

嗯 - 是时候阅读一些 procfs 的内核代码了

来自这篇优秀文章:

http://kernel.org/doc/Documentation/filesystems/proc.txt

SigQ                        number of signals queued/max. number for queue
SigPnd                      bitmap of pending signals for the thread
ShdPnd                      bitmap of shared pending signals for the process
SigBlk                      bitmap of blocked signals
SigIgn                      bitmap of ignored signals
SigCgt                      bitmap of catched signals

关于Linux:如何查看事件进程是否设置了信号处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975315/

相关文章:

linux - 连接多个启动板存储库

linux下C程序i/o重定向编译错误

linux - 什么会导致将中止信号发送到 Docker 容器?

c++ - QT,C++ : How do Signal and Slots works with listWidgetItems?

c - 在 C 中停止 getline

linux - 使用 bash 在文件中插入字符

java - LWJGL grabbed mouse - 如果应用程序挂起或使用抓取的鼠标命中断点时进行调试

linux - 需要一个 awk/sed/cut 替代方案来解决 tcpdump 输出上看起来很简单的问题

c - 创建线程,然后所有线程在临界区之前退出

c - PingPong 由 1 个管道和 1 个信号 : what is scanf waiting for?