基于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;
}
相关推荐
A132470531211 小时前
进程管理入门:查看和控制Linux进程
linux·运维·服务器·网络·chrome·github
The star"'11 小时前
华为云服务系列总结
运维·华为云·云计算
gaize121311 小时前
网络服务器配置与管理深度分享
服务器
云和数据.ChenGuang11 小时前
openeuler下的git指令集合
linux·运维·数据库·centos
珠海西格电力11 小时前
零碳园区工业园区架构协同方案
运维·人工智能·物联网·架构·能源
奥尔特星云大使11 小时前
使用 Docker 运行 SQL Server 2019
运维·docker·容器·sql server
风静雪冷11 小时前
在Ubuntu上安装docker(docker engine)和docker compose
linux·ubuntu·docker
小宇的天下11 小时前
Calibre DESIGNrev DRC/LVS启动和准备文件(10-1)
服务器·数据库·oracle
m0_4856146711 小时前
Linux-Dockerfile与Docker Compose
linux·运维·docker
Ghost Face...11 小时前
DDR时序校准:写均衡与门控训练解析
linux