Bem, essa não é uma solução bonita , mas pelo menos pode ser uma solução .
Em /proc/[pid]/status
, há uma entrada para SigPnd e ShdPnd. Eles são descritos como,
SigPnd, ShdPnd: Number of signals pending for thread and for process as a whole (see pthreads(7) and signal(7)).
Há também o SigQ, que é
SigQ: This field contains two slash-separated numbers that relate to queued signals for the real user ID of this process. The first of these is the number of currently queued signals for this real user ID, and the second is the resource limit on the number of queued signals for this process (see the description of RLIMIT_SIGPENDING in getrlimit(2)).
(Tudo isso é de man 5 proc
).
Então você pode pesquisar todos os pid's em /proc
, verificar os arquivos status
e encontrar o que tiver algum sinal pendente.
Tente isso,
cd /proc
find . -name "status" | xargs grep SigPnd 2> /dev/null | grep -v "0000000000000000"
e
find . -name "status" | xargs grep ShdPnd 2> /dev/null | grep -v "0000000000000000"