wait() 함수
- 자식프로세스가 종료될 때까지 부모프로세스는 sleep()모드로 기다리게 됩니다.
부모프로세스가 자식프로세스보다 먼저 종료되어 자식이 고아 프로프세스가 되는 것 방지하기 위해 사용됩니다
wait() 의 인자 status로 자식 프로세스의 상태를 알 수 있습니다.
자식프로세스의 상태값은 자식프로세스의 종료값 *256(FF)입니다.
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int pid;
int status;
pid = fork();
if(pid<0)
{
perror("FORK ERROR :");
}
if(pid ==0)
{
int i;
for (i = 0; i<5; i++)
{
printf("자식 = %d\n" , i);
sleep(2);
}
exit(3);
}else
{
printf("자식기다리기 = %d\n" , pid);
wait(&status);
printf("자식종료됨 = %d\n" , status);
}
}
'배워보자!! > 리눅스' 카테고리의 다른 글
[linux] 리눅스 read() 함수 (0) | 2015.05.20 |
---|---|
[linux] 리눅스 open() 함수 (0) | 2015.05.20 |
[linux] 리눅스 fork() 함수 (0) | 2015.05.17 |
[linux] 리눅스 파일관리하기! (0) | 2015.04.14 |
[linux] 리눅스 디렉토리 관리하기! (0) | 2015.04.14 |
댓글