애플리케이션에 어떤 신호가 있는지, 그리고 어떤 신호가 있는지 알 수 있는 방법이 있습니까? [폐쇄]

애플리케이션에 어떤 신호가 있는지, 그리고 어떤 신호가 있는지 알 수 있는 방법이 있습니까? [폐쇄]

보다gdb에서 사용될 때 `handle SIG33 pass nostop noprint`는 무엇을 합니까?. 나는 Stephen Kitt가 공유한 답변에서 이 정보를 추측하고 있습니다. about 신호는 소스 코드 어딘가에 있습니다. 특정 애플리케이션(예: leafpad)의 소스 코드를 다운로드하는 경우http://tarot.freeshell.org/leafpad/어떤 신호가 있는지 어떻게 검색합니까? 아이디어는 더 나은 디버깅을 위한 것입니다.

답변1

특정 애플리케이션이 자체적으로 처리하는 신호를 찾으려면 소스 코드를 살펴보고 sigaction를 호출하세요. signal라이브러리는 신호 처리기를 설정할 수도 있으므로 이들도 살펴봐야 합니다...

strace소스 코드를 보지 않고도 신호 관련 시스템 호출을 특별히 지원하는 용도를 찾을 수 있습니다 .

strace -e trace=signal ...

그러면 프로그램이 실행되고 모든 신호 관련 시스템 호출의 세부 정보가 덤프됩니다. 이를 통해 어떤 신호가 사용되었는지 확인할 수 있습니다.

관련 정보