基于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;
}
相关推荐
ZFB00016 分钟前
【麒麟桌面系统】V10-SP1 2503 系统知识——开机启动无Grub界面
linux·运维·kylin
云飞云共享云桌面8 分钟前
上海模具制造工厂10人用一台共享电脑做SolidWorks设计
linux·运维·服务器·网络·自动化
Shanxun Liao15 分钟前
Docker vlmcsd 完整管理指南
运维·docker·容器
無法複制17 分钟前
Centos7安装MySQL8.0
linux·mysql
FJW02081419 分钟前
LVS企业实战
linux·服务器·lvs
EverydayJoy^v^22 分钟前
RH124简单知识点——第9章——管理网络
linux·运维·网络
信创天地23 分钟前
信创日志全流程管控:ELK国产化版本与华为日志服务实战应用
运维·安全·elk·华为·rabbitmq·dubbo
Shingmc323 分钟前
【Linux】基础IO
linux·运维·服务器
qq_4061761423 分钟前
吃透JS异步编程:从回调地狱到Promise/Async-Await全解析
服务器·开发语言·前端·javascript·php
卡卡大怪兽31 分钟前
服务器远程连接,后台运行程序
运维·服务器