fork()函数简解

这篇博客详细介绍了Linux系统中fork函数的工作原理。通过fork,父进程能够创建一个与自身完全相同的子进程。当fork成功时,父进程收到子进程的PID,而子进程的PID为0。如果fork失败,errno将被设置为EAGAIN(进程数量上限)或ENOMEM(内存不足)。在之后的代码中,父进程和子进程会根据pid的值执行不同的路径,实现各自的任务。
摘要由CSDN通过智能技术生成
	pid_t pid = fork();
    if (pid < 0) {
        //fork错误,可能原因是:
        // 1)当前的进程数已经达到了系统规定的上限,这时errno的值被设置为EAGAIN。
    	// 2)系统内存不足,这时errno的值被设置为ENOMEM。
    } else if (pid > 0) {
        //这里是父进程将执行的代码
        //pid的值为子进程的pid
    } else {
    	//这里是子进程的代码
    	//pid=0
    	//如果要获取子进程的id,可以调用 getpid()
    }
简单来说就是使用fork函数后。
fork函数会创建一个与父进程一样的进程。(资源不共享)
父进程中返回子进程的pid,子进程中返回0.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值