基于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;
}
相关推荐
utf8mb4安全女神2 分钟前
【shell函数】【shell脚本】定期自动检查服务器磁盘使用情况并发出告警
运维·服务器
憧憬成为java架构高手的小白5 分钟前
计算机网络管理
服务器·网络·计算机网络
Cx330❀7 分钟前
【MySQL基础】库与表的全面操纵指南
linux·服务器·网络·数据库·c++·mysql
凡人叶枫9 分钟前
Effective C++ 条款03:尽可能使用 const
linux·开发语言·c++·嵌入式开发
tedcloud12310 分钟前
Understand-Anything部署教程:打造AI代码理解平台
服务器·人工智能·学习·自动化·powerpoint
程序员佳佳12 分钟前
我在 Windows 和低配 Linux 上做 RAG:Milvus、FAISS、向量 API 中转的中立实测
linux·人工智能·windows·gpt·aigc·milvus·faiss
加成BUFF15 分钟前
第六天 ROS 《Action 通信实验》
linux·机器人·ros
ShineWinsu16 分钟前
对于Linux:进程信号的解析—下
linux·运维·服务器·面试·笔试·进程·信号
YIN_尹18 分钟前
【Linux系统编程】基础IO第二讲——文件描述符
android·linux·服务器
wxytxdy27 分钟前
Linux 自动化运维基础 —— 定时任务与日志轮转
linux