![프로세스가 자신에게 신호를 보낼 때 "다른 보류 중, 차단되지 않은 신호"는 어떻게 관련됩니까?](https://linux55.com/image/145145/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EA%B0%80%20%EC%9E%90%EC%8B%A0%EC%97%90%EA%B2%8C%20%EC%8B%A0%ED%98%B8%EB%A5%BC%20%EB%B3%B4%EB%82%BC%20%EB%95%8C%20%22%EB%8B%A4%EB%A5%B8%20%EB%B3%B4%EB%A5%98%20%EC%A4%91%2C%20%EC%B0%A8%EB%8B%A8%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20%EC%8B%A0%ED%98%B8%22%EB%8A%94%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EA%B4%80%EB%A0%A8%EB%90%A9%EB%8B%88%EA%B9%8C%3F.png)
Unix 환경의 고급 프로그래밍설명하다:
#include <signal.h> int kill(pid_t pid, int signo);
...
호출로 인해
kill
호출 프로세스에 대한 신호가 생성되고 신호가 차단되지 않은 경우signo
또는 기타 대기 중이고 차단되지 않은 신호kill이 반환되기 전에 프로세스**에 전달됩니다. (스레드에서는 다른 조건이 발생할 수 있습니다. 자세한 내용은 섹션 12.8을 참조하세요.)
kill(pid, signo)
그냥 신호를 보내세요 signo
. 프로세스가 자신에게 신호를 보낼 때 "다른 보류 중, 차단되지 않은 신호"는 어떻게 관련됩니까?
감사해요.
답변1
전화 kill
가 돌아오기 전에,일부신호가 전달되었습니다. 이미 다른 소스에서 전달을 기다리는 신호("보류 중")가 있는 경우 kill
통화 시작과 끝 사이("반환 전")에 전달된 신호가 방금 만든 기존 신호일 수 있습니다. .
전송 대기 중인 신호가 없으면 signo
지정한 신호가 예상대로 해당 간격 내에 전송됩니다.
만약 있다면예보류 중인 신호 또는 새 신호가 전달되는지 여부는 지정되지 않으며 그 중 적어도 하나가 전달된다는 것만 보장됩니다.