티스토리 뷰

IT 이야기/프로그래밍

fork test 소스1

하늘과 나 2010.04.27 06:10
코드 스니펫 복사
/* fork_test.c */

#include<sys/types.h>

#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>

int glob = 6 ;
char buf[] = "a write to stdout\n" ;

int main(void)
{
    int var ;
    pid_t pid ;

    var = 88 ;

    if ( write (1, buf, sizeof(buf)-1) != sizeof(buf) -1 )
    {
        printf("write error\n");
        return -1;
    }

    printf("before fork\n");
    if ( ( pid=fork()) < 0 )
    {
        printf("fork error\n") ;
        return -1 ;
    }
    // 자식 프로세스인 경우
    else if ( pid == 0 )
    {
        glob++;
        var++;
        printf("child process\n") ;
    }
    // 부모 프로세스인 경우
    else
    {
        sleep(2);
        printf("parent process\n") ;
    }

    printf("pid = %d, glob = %d, var = %d\n", getpid(), glob, var ) ;
    sleep(10) ;
    printf("process %d terminated\n", getpid()) ;
    return 0 ;
}


댓글
댓글쓰기 폼
공지사항
Total
2,826,799
Today
258
Yesterday
1,144
«   2018/10   »
  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      
글 보관함