내 이해는기사를 알리다세션 및 프로세스 그룹은 종료 시 하위 프로세스를 종료하고 작업 제어를 통해 관련 프로세스에 신호를 보내는 데 사용됩니다.
각 프로세스의 PPID를 이용하면 언제든지 이 정보를 추출할 수 있다고 생각합니다. 이러한 개념은 단지 프로세스의 자손을 빠르게 얻을 수 있는 데이터 구조를 갖기 위해 존재하는 것일까요?
세션 그룹과 프로세스 그룹은 작업 제어 및 자손 제거 외에 다른 작업을 수행합니까? 상황에 맞는 정보를 저장합니까?
좋은 참고 자료가 도움이 될 것입니다.
답변1
프로세스 그룹주로 특정 프로세스에서 어떤 프로세스가 시작되었는지 확인하기 위해 존재합니다.단말기터미널에 접속할 수 있습니다. 에서만 처리포그라운드 프로세스 그룹제어 터미널에서 읽거나 쓸 수 있습니다.SIGTTIN 또는 SIGTTOU 신호에 의해 중지됨.
프로세스 그룹의 모든 프로세스에 음수 PID 인수를 전달하여 원자적으로 신호를 보낼 수 있습니다.kill
. 이는 터미널 드라이버가 신호에 응답하여 신호를 생성할 때도 발생합니다.특수 문자(예: Ctrl+ SIGINT C).
세션은 어떤 프로세스 그룹이 터미널에 연결되어 있는지 추적합니다. 동일한 세션에서만 실행되는 프로세스제어 프로세스포그라운드 프로세스인가요, 아니면 백그라운드 프로세스인가요?
PPID에서 프로세스 그룹 또는 세션을 확인할 수 없습니다. 프로세스의 부모가 동일한 프로세스 그룹에 있는지 아니면 다른 프로세스 그룹에 있는지 알 수 없으며 세션에서도 마찬가지입니다.