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()函数简解
最新推荐文章于 2024-11-11 09:41:37 发布
这篇博客详细介绍了Linux系统中fork函数的工作原理。通过fork,父进程能够创建一个与自身完全相同的子进程。当fork成功时,父进程收到子进程的PID,而子进程的PID为0。如果fork失败,errno将被设置为EAGAIN(进程数量上限)或ENOMEM(内存不足)。在之后的代码中,父进程和子进程会根据pid的值执行不同的路径,实现各自的任务。
摘要由CSDN通过智能技术生成