fork

#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <iostream>
using namespace std;

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

    num++;
    if((pid=fork())<0)
    {
        return -1;
    }else if(pid==0){
        num++;
        sleep(2);
        cout << "child pid:" << getpid() << ",num:" << num << endl;
        exit(0);
    }else
    {
        if(waitpid(pid,NULL,0)!=pid){
            cout << "wait error" << endl;
        }
        cout << "main pid:" << getpid() << ",num:" << num << endl;
    }
    return 0;
}

child pid:5203,num:2
main pid:5202,num:1

你可能感兴趣的:(fork)