小编Ryu*_*Ryu的帖子

fork() exit(0) 和 wait(NULL) 如何工作?

我想知道这段代码是如何工作的

#include<stdio.h> 
#include<stdlib.h> 
#include<sys/wait.h> 
#include<unistd.h> 
  
int main() 
{ 
    pid_t cpid; 
    if (fork()== 0) 
        exit(0);         
    else
        cpid = wait(NULL); 
    printf("Parent pid = %d\n", getpid()); 
    printf("Child pid = %d\n", cpid); 
  
    return 0; 
Run Code Online (Sandbox Code Playgroud)

(fork()==0)如果我们在子进程中,则返回 true。对?

然后exit(0)将终止子进程。

那么wait(NULL)如果我们不能进入else案例,除非我们在父进程中,否则如何返回子pid ?

c unix

3
推荐指数
1
解决办法
746
查看次数

标签 统计

c ×1

unix ×1