C++进程的创建和进程ID标识详细介绍
目录
- 进程的ID
- 进程创建
进程的ID 进程的ID,可称为PID。它是进程的唯一标识,类似于我们的身份证号是唯一标识,因为名字可能会和其他人相同,生日可能会与其他人相同……大多数的事件都可能会与其他人相同,而身份证号每个人都是不一样的,这是社会中自己的唯一标识。
当进程被创建的时候,系统就自动分配给进程一个唯一的PID,PID是正数。
【C++进程的创建和进程ID标识详细介绍】在Linux中有两个系统调用函数,可以获取进程的ID。
pid_t getpid(void); //获取进程ID(PID)pid_t getppid(void); //获取其父进程ID(PPID)
所需头文件
# include # include
getpid()
返回的时调用该函数的进程的PID,getppid()
返回的是调用该函数的进程的父进程ID(PPID),返回值类型是pid_t
,实际上是无符号整型,这两个函数不会出现调用失败的情况开始测试……
//mycode.c文件# include # include # includeint main(void){//创建子进程pid_t id = fork(); if(id == 0){ //子进程printf("i am child, my id is %d\n",getpid()); }else{//父进程printf("i am parent, my id is %d\n",getppid()); }return 0; }
//运行结果
i am parent, my id is 1593
i am child, my id is 7048
进程创建 【进程创建的主要事件】
1、新的批处理作业
2、由进程派生出一个进程
3、因为提供服务而创建
4、交互登录
操作系统创建进程包含的步骤
1、分配唯一的进程标识符
2、分配空间
3、初始化进程控制块(PCB)
4、修改连接
5、创建/扩充其他数据结构
对于“修改连接”,操作系统会把调度队列保存成某些数据结构,新的进程需要放置在数据结构里,所以需要重新连接。
在Linux系统中,可以创建新进程的系统调用函数只有一个fork
#includepid_t fork(void);
描述:
fork()函数可以创建子进程,所需的头文件为unistd.h, 返回两次。
- 如果返回的是0,则表示为子进程
- 如果返回的是非0,则表示为父进程
推荐阅读
- 游戏服务器中的Netty应用以及源码剖析
- Linux服务器VPS的Windows|Linux服务器VPS的Windows DD包详细的制作教程
- 【连载】丨三千年后的苏醒(1)
- 这是一则真实的故事……
- 从外往内看的感恩小觉悟
- 每个人心中都有一座《边城》,那就是你总也回不去的故乡吗()
- 2016
- 迟来的恭喜,恭喜RNG德杯夺冠!
- 和三观不同的人一起旅行,太TM累了!
- 心赏20