kill 및 pid=0을 통해 신호 보내기

kill 및 pid=0을 통해 신호 보내기

kill's에서 man:

pid가 0이면 sig는 프로세스 그룹 ID가 보낸 사람의 프로세스 그룹 ID와 동일하고 프로세스가 신호를 보낼 권한이 있는 모든 프로세스(지정되지 않은 시스템 프로세스 집합 제외)로 전송됩니다.

정확히 무슨 for which the process has permission to send a signal뜻인가요? 어떤 프로세스가 신호를 받을지 어떻게 확인할 수 있나요?

예를 들어 kill -9 0현재 시작된 모든 프로세스를 종료합니다.tty그리고tty그 자체. 아니면 다른 것이 있나요?

답변1

정확히 무슨 for which the process has permission to send a signal뜻인가요?

맨페이지에 바로 답변이 나와 있습니다.

프로세스가 신호를 보낼 수 있는 권한을 가지려면 권한이 있어야 하거나 전송 프로세스의 실제 또는 유효 사용자 ID가 대상 프로세스의 실제 또는 저장된 set-user-ID와 같아야 합니다. 의 경우SIGCONT송신 및 수신 프로세스가 동일한 세션에 속하면 충분합니다.

어떤 프로세스가 신호를 받을지 어떻게 확인할 수 있나요?

프로세스 목록을 살펴보고 신호 0(드라이 런 신호)으로 각 프로세스를 종료하려고 시도할 수 있습니다. 이는 실제 신호를 보낼 수 있는 권한이 있었는지 여부를 알려줍니다.

관련 정보