LinuxFreeBSD

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ LinuxFreeBSD ] in KIDS
글 쓴 이(By): russell (huhu)
날 짜 (Date): 2003년 5월 29일 목요일 오후 09시 49분 06초
제 목(Title): Re: SIGCHLD 시그널을 놓칠수도 있나요?


  signal이 queuing 안되기 때문에 일어나는 현상이 아닐까요? 하나의 
SIGCHLD를 받았을 때, 여러 개의 children이 죽었을 것으로 가정하고 코딩을 
해야합니다. UNIX network programming Vol.1 p128의 SIGCHLD handler는 다음과 
같습니다.

#include "unp.h"

void
sig_chld(int signo)
{
pid_t pid;
int stat;

while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0)
printf("child %d terminated\n", pid);
return;
}

  근데, Linux 에서는 SIG_IGN로 하면 좀비 다 없어지는 걸로 알고 있는데...
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.