基于linux下的高并发服务器开发(第二章)- 2.3 进程创建

cpp 复制代码
/*
    #include <sys/types.h>
    #include <unistd.h>

    pid_t fork(void)
        函数的作用:用于创建子进程
        返回值:
            fork()的返回值会返回两次。一次是在父进程中,一次是在子进程中
            在父进程中返回创建的子进程的ID,
            在子进程中返回0
            如何区分父进程和子进程:通过fork返回值
            在父进程中返回-1,表示创建子进程失败,并且设置errno
*/
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>

int main(){

    //创建子进程
    pid_t pid = fork();

    //判断是父进程还是子进程
    if(pid > 0){
        printf("pid : %d\n",pid);
        //如果大于0,返回的是创建的子进程的进程号,当前是父进程
        printf("I am parent process,pid : %d,ppid : %d\n",getpid(),getppid());
    }else if(pid == 0){
        //当前是子进程
        printf("i am child process,pid : %d,ppid : %d\n",getpid(),getppid());
    }

    // for 循环
    for(int i = 0;i<3;i++){
        printf("i : %d , pid : %d\n",i,getpid());
        sleep(1);
    }

    return 0;
}
相关推荐
柏慧通云报餐6 分钟前
政企清廉食堂数字化建设方案:基于一体化报餐平台的全链路管控落地思路
大数据·运维·人工智能·物联网·sass
方便面不加香菜8 分钟前
Docker安装详解--基于Ubuntu环境
运维·docker·容器
snpgroupcn8 分钟前
SAP迁移工程下篇:模板复用、自动化执行与阶段内置校验的实现(下篇)
运维·自动化
dingdingfish14 分钟前
TLPI 第49章 读书笔记:Memory Mapping
linux·mmap·munmap·tlpi·msync
电科_银尘25 分钟前
【深度学习项目实战·04】VS Code远程开发:在本地编辑,在服务器运行与调试
服务器·人工智能·深度学习
Ya_Chuan_25 分钟前
实验室防排烟系统与通风排风系统联动控制逻辑讲解
运维·数据中心·实验室·dcom·ibms 集成平台技术
EVEN-091327 分钟前
Linux-进程(2)
linux·运维·服务器
u01090535931 分钟前
(永久免费)树莓派 / 香橙派等开发板,安装神卓互联巴比达内网穿透安装教程(Linux ARM 版 V9.4.1)
linux·运维·arm开发
liuhaoodng62631 分钟前
《网络IA项目:单臂路由(vlan间通讯)优化实战版》
运维·网络·网络协议
Linux_cy32 分钟前
服务器管理方案选型:面板 / SSH 客户端 / 桌面型客户端怎么选
java·linux·运维·服务器·ssh·可视化·gmssh