/proc/(PID)/status 출력 결과에 대해 질문드립니다
글쓴이: corone / 작성시간: 금, 2010/03/12 - 10:59오전
다음과 같이 실행하면
# cat /proc/(PID)/status (생략) SigQ: 1/7164 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 00000000fffffeff CapEff: 00000000fffffeff
나타나는 출력 결과에서
ShdPnd, SigBlk, SigIgn, SigCgt는
각각 Signal Pending, Block, Ignore, Caught의 약자이고
CapInh, CapPrm, CapEff는
각각 capability Inheritable, Permitted, Effective라고 생각되는데
해당 프로세스가 받은 시그널의 상태가 저장되어 있는 것인가요?
SigQ는 또 무슨 의미인가요?
Forums:
kernel 소스에서
kernel 소스에서 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
CapInh bitmap of inheritable capabilities
CapPrm bitmap of permitted capabilities
CapEff bitmap of effective capabilities
CapBnd bitmap of capabilities bounding set
Cpus_allowed mask of CPUs on which this process may run
Cpus_allowed_list Same as previous, but in "list format"
답변 감사합니다
네, 그런데
각각의 신호를 처리한 상태를 기록하는 것인데
어떤 방식으로 기록된 것인지 궁금해서요
비트마스크를 16진수로 출력하는 방식인 거 같은데 설명부탁드립니다
task_sig() 함수를 참조하세요..
http://lxr.linux.no/#linux+v2.6.33/fs/proc/array.c#L253
댓글 달기