簡體   English   中英

Linux:如何查看生活過程是否設置了信號處理程序?

[英]Linux: how to see if a living process has signal handlers set?

有一個快樂的過程,我想知道它是否設置了一些信號處理程序。 我記得我曾經在某處讀過一些關於此的內容,但卻找不到這樣的信息。 可能嗎?

謝謝

得愛 - 可能這些實際上是信號集......

cat / proc / self / status | 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

檢查/proc/PID/status文件時可以檢測到這一點。

SigCgt掩碼顯示應用程序捕獲的信號。 (參見man 7 signal進行sigmask解釋)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM