하위 프로세스를 시작하는 부모 프로세스를 시작했지만 부모 프로세스가 SIGINT
을 수신한다고 가정합니다. 부모님이 퇴장하기를 원하지만 아이 프로세스가 오래 머물거나 좀비가되는 것을 원치 않습니다. 죽을 지 확인해야 해.상위 프로세스가 하위 프로세스가 SIGINT를 수신했는지 여부를 판별 할 수 있습니까?
그 어린이도 SIGINT
을 받았다고 판단 할 수 있다면 그 사람은 아마 스스로 청소할 것입니다. 이 경우 간단히 끝나고 나갈 때까지 잠시 기다리는 것을 선호합니다. 그러나 SIGINT
을받지 못한 경우 즉시 SIGTERM
(또는 SIGKILL
)을 보내고 부모가 자체 정리 작업을 진행하도록 할 것입니다.
어린이가 SIGINT
을 수신했는지 어떻게 알 수 있습니까? (심지어 SIGINT
...에 응답하지 않을 수도 있다는 사실을 제외하고) 부모가 전경 프로세스 그룹에서 실행 중인지 아닌지에 따라 추측해야합니까? 프로그래밍 방식으로 SIGINT
이 전송 된 경우 Ctrl+C
이 아닌 경우 어떻게됩니까?
어떻게'SIGINT'가 완료 되었습니까? Ctrl-C는 일반적으로 프로세스 그룹에 부여됩니다 .... –
불명확 한 질문입니다. 관련 질문 (동일한 OP로) –
관련 질문 : https://stackoverflow.com/q/47224241/841108 –