티스토리 뷰

Server/Linux

[Linux] waitpid예제-WNOGANG옵션

annajinee 2017. 7. 10. 17:33

//부모프로세스가 WNOHANG옵션을 사용하여 waitpid를 사용한 예제
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<stdio.h>
#include<stdlib.h>


main()
{
    pid_t pid;
    int status=0;



    if((pid=fork())>0) //pid가 fork하고, 부모프로세스 일 경우
    {
        while(!waitpid(pid, &status, WNOHANG))
//종료한 자식프로세스가 있으면 이를 정상적으로 처리하고, 없으면 곧바로 0을 반환
        {
            printf("parent:%d\n", status++);
            sleep(1); //1초마다 status값을 표준 출력 하면서 자식프로세스의 종료상태를 확인
        }
        printf("parent: child -exit (%d)\n", status);
    }
    else if(pid==0) //자식 프로세스
    {
        sleep(5); //5초동안 대기하다가 exit로 종료하게 된다.
        printf("끝ㅌㅌㅌㅌㅌ\n");
        exit(0);
    }
    else
        printf("fail to fork\n");
}

'Server > Linux' 카테고리의 다른 글

[Linux] ssh 접속  (0) 2017.07.10
[Linux] waitpid 예제  (0) 2017.07.10
[Linux] 프로세스간 통신  (0) 2017.07.10
[Linux] 프로세스  (0) 2017.07.10
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함