fork를 kill하는 함수인데..ㅡㅜ 어렵네요..
맛깔손
질문 제목 : fork를 kill하는 함수인데..ㅡㅜ 어렵네요.. 4번쨰에 while(1)을 왜하는지 이유를 모르겠고.. /* parent reaps terminated children */
이부분부터 아예이해가 안갑니다 ㅡㅜ질문 내용 :
void fork12()
{
pid_t pid[n];
int i, child_status;
for (i = 0; i n; i++)
if ((pid[i] = fork()) == 0)
while(1); /* child infinite loop */ -이부분이랑..
/* parent terminates the child processes */
for (i = 0; i n; i++) {
printf(killing process %d\n, pid[i]);
kill(pid[i], sigint);
}
/* parent reaps terminated children */ -이부분아래부터이해가안가네요ㅠ
for (i = 0; i n; i++) {
pid_t wpid = wait(&child_status);
if (wifexited(child_status))
printf(child %d terminated with exit status %d\n,
wpid, wexitstatus(child_status));
else
printf(child %d terminated abnormally\n, wpid);
}
}
함수 전체적으로 설명해주실분..계시나요 ㅠ