linux fork

#include 
#include 
#include 
int main()
{
    int iPid;
    int istatus;
    int pid;
    iPid = fork();

    switch(iPid)
    {
        case -1:
            printf("fork fail...
"
); break; case 0: printf("child process...
"
); printf("pid=%d, ppid=%d
"
, getpid(), getppid()); printf("child process exit...
"
); exit(2); break; default: printf("parent...
"
); pid=wait(&istatus); istatus = istatus >>8; printf("status=%d
"
, istatus); printf("mypid=%d
"
, pid); printf("parent exit...
"
); break; } return 0; }

출력: parent... child process.. pid = 24435, ppid = 24434 parent exit.. status = 2 mypid = 24435
  • fork (): 반환 값 은 0, 하위 프로 세 스 입 니 다.0 이상, 부모 프로 세 스.하위 프로 세 스 가 부모 프로 세 스 와 먼저 종료 되 는 것 을 방지 합 니 다. 부모 프로 세 스에 서 wait () 함 수 를 사용 하면 파 라 메 터 는 NULL 이 될 수 있 습 니 다. 하위 프로 세 스 가 종료 한 상태 코드 를 가 져 오기 위해 파 라 메 터 를 입력 하고 8 자 리 를 오른쪽으로 이동 할 수 있 습 니 다.함수 반환 값 을 하위 프로 세 스 의 pid 로 합 니 다.
  • getpid (): 또는 현재 프로 세 스 의 pid.
  • getppid (): 부모 프로 세 스 의 pid 를 가 져 옵 니 다. -
  • 좋은 웹페이지 즐겨찾기