![애플리케이션에 어떤 신호가 있는지, 그리고 어떤 신호가 있는지 알 수 있는 방법이 있습니까? [폐쇄]](https://linux55.com/image/9728/%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%97%90%20%EC%96%B4%EB%96%A4%20%EC%8B%A0%ED%98%B8%EA%B0%80%20%EC%9E%88%EB%8A%94%EC%A7%80%2C%20%EA%B7%B8%EB%A6%AC%EA%B3%A0%20%EC%96%B4%EB%96%A4%20%EC%8B%A0%ED%98%B8%EA%B0%80%20%EC%9E%88%EB%8A%94%EC%A7%80%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
보다gdb에서 사용될 때 `handle SIG33 pass nostop noprint`는 무엇을 합니까?. 나는 Stephen Kitt가 공유한 답변에서 이 정보를 추측하고 있습니다. about 신호는 소스 코드 어딘가에 있습니다. 특정 애플리케이션(예: leafpad)의 소스 코드를 다운로드하는 경우http://tarot.freeshell.org/leafpad/어떤 신호가 있는지 어떻게 검색합니까? 아이디어는 더 나은 디버깅을 위한 것입니다.
답변1
특정 애플리케이션이 자체적으로 처리하는 신호를 찾으려면 소스 코드를 살펴보고 sigaction
를 호출하세요. signal
라이브러리는 신호 처리기를 설정할 수도 있으므로 이들도 살펴봐야 합니다...
strace
소스 코드를 보지 않고도 신호 관련 시스템 호출을 특별히 지원하는 용도를 찾을 수 있습니다 .
strace -e trace=signal ...
그러면 프로그램이 실행되고 모든 신호 관련 시스템 호출의 세부 정보가 덤프됩니다. 이를 통해 어떤 신호가 사용되었는지 확인할 수 있습니다.