신호 처리가 프로세스의 속성입니까?

신호 처리가 프로세스의 속성입니까?

표준을 읽고 다음을 배웠습니다.

  • 신호 처리는 프로세스의 모든 스레드가 공유하는 속성입니다.
  • 신호 마스크는 스레드별 속성입니다.

그러나 표준에서는 다음 사항(2018년판 Foundation Volume, 섹션 3.210 실시간 프로세스)을 "프로세스 내의 모든 스레드 간에 공유되는 시스템 리소스"로 나열합니다.

  • 프로세스 ID, 상위 프로세스 ID, 프로세스 그룹 ID, 세션 멤버십,
  • 실제적이고 유효한 저장된 사용자 및 그룹 ID와 보조 그룹 ID,
  • 현재 작업 디렉터리, 루트 디렉터리,
  • 마스크,
  • 파일 설명자.

목록에서 신호 처리가 누락되었습니다.

신호 처리가 프로세스와 관련된 속성이라고 말하는 것이 맞습니까? 아니면 위 목록에서 제외할 이유가 있나요?

답변1

대답은 '예'입니다. 신호 처리는 프로세스의 모든 스레드에서 공유됩니다.

목록에서 "제외"된 이유는 신호 처리기가 실제로 프로세스의 "속성"이나 "리소스"가 아니기 때문입니다. 어디서도 볼 수 없습니다 /proc<pid>/. 이는 일반적으로 함수, 전역 변수 또는 메모리가 프로세스의 "공유 속성"이라고 말하는 것과 같습니다. 이는 "프로세스" 정의의 일부일 뿐입니다.

관련 정보