fork()函数

138 阅读1分钟

fork()函数用来创建一个子进程,函数原型如下:

pid_t fork()

fork()函数有如下几种返回结果 :

(1)返回-1,代表创建子进程失败;

(2)对于父进程,返回新创建的子进程pid;

(3)对于子进程,返回0;

int pid = fork();
if (pid == -1) {
    printf("fork failed!\n");
} else if (pid == 0) {
    printf("This is child process\n");
    int chid_pid = getpid();
    int parent_pid = getppid();
    printf("parent_pid:%d, child_pid:%d\n", parent_pid, chid_pid);
} else {
    printf("This is parent process\n");
    int parent_pid = getpid();
    printf("parent_pid:%d, child_pid:%d\n", parent_pid, pid);
}