CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): dalgong (달공아저씨)
날 짜 (Date): 2002년 7월 26일 금요일 오전 10시 12분 34초
제 목(Title): Re: [리눅스 소켓 질문 입니다.]



process group leader인거랑 부모가 죽은 자식처리하는 거랑은 관계가 없습니다.
글고 session leader가 되기 위해서 fork()를 두번할 필요가 없습니다.
(fork된 자식은 session leader가 아님)

fork ()두번하는건, 자식의 자식의 입장에서 자기 부모가 죽으면 부모가 pid 1(init)
으로 바뀌게 되서 init이 wait을 해주게 되는거구요. 처음 fork()를 했을때
부모입장에서는 자기 자식은 fork()후에 바로 죽을 꺼니까, 거기 걸리는 시간이 
짧다고 보고 wait()으로 blocking후에 진행하는 것이겠지요. 


SIGCLD 혹은 SIGCHLD를 무시하면 좀비가 생기지 않는 시스템이 있고, 
같은 signal에서 앞에 terzeron님이 얘기하신데로 wait, waitpid류를 불러줘야
좀비가 안 생기게 되는 시스템이 있는데 뒤에 방식은 항상 동작하게 되죠.

@사족: 앞에 쓰신분 switch문에 

   default: close (sock2); break; 

이거 붙어 줘야 합니다.
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.