프로세스의 신호를 무시하거나 변경하려고 합니다. 추측한 대로 각 프로세스에는 별도의 신호 테이블이 있습니다.
/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
. (잡히거나 무시되는 신호 세트는 프로세스의 모든 스레드에서 동일합니다.) 다른 필드에는 스레드( )로 전달되는 보류 중인 신호 세트와 전달되는 보류 중인 신호 세트가 표시됩니다. 전체 과정은 ()입니다. 의 해당 필드에는 기본 스레드 정보가 표시됩니다. 자세한 내용은 참조하십시오.SigBlk
SigCgt
SigIgn
SigPnd
ShdPnd
/proc/[pid]/status
proc(5)