신호 상태는 무엇을 의미하나요?

신호 상태는 무엇을 의미하나요?

저는 "Unix 환경의 고급 프로그래밍"이라는 책을 읽고 있습니다.

제가 이해할 수 없는 문장은 다음과 같습니다.

특히 이러한 exec()기능은 캡처된 신호의 처리를 기본 작업으로 변경하고 다른 모든 신호의 상태를 보존합니다.

신호의 동작이 기본 동작으로 변경된 것으로 이해합니다. 그런데 신호 상태가 어떤가요?

답변1

존재하다

특히 exec() 함수는 캡처된 신호의 처리를 기본 작업으로 변경하고 다른 모든 신호의 상태를 유지합니다.

"다른 모든 신호의 상태"는 포착되지 않은 신호, 즉 무시되는 신호를 나타냅니다( SIG_IGN).

프로그램이 신호 처리기를 추가하면 프로그램이 신호를 포착할 수 있습니다(물론 포착할 수 없는 합계는 제외 SIGKILL). 함수를 SIGSTOP호출할 때 exec()함수가 호출된 후에는 이러한 신호 처리기 중 어느 것도 프로그램에 적용되지 않습니다 exec().

프로그램이 특정 신호에 대한 신호 처리기를 추가하지 않는 경우 함수를 호출해도 exec()신호가 프로그램에 영향을 미치는 방식이 변경되지 않습니다.

신호 처리기는 다음과 같이 설정할 수 있습니다.signal또는sigaction.

관련 정보