c/c++语言开发共享C++进程的创建和进程ID标识详细介绍

进程的id进程的id,可称为pid。它是进程的唯一标识,类似于我们的身份证号是唯一标识,因为名字可能会和其他人相同,生日可能会与其他人相同……大多数的事件都可能会与其他人相

进程的id

进程的id,可称为pid。它是进程的唯一标识,类似于我们的身份证号是唯一标识,因为免费精选名字大全可能会和其他人相同,生日可能会与其他人相同……大多数的事件都可能会与其他人相同,而身份证号每个人都是不一样的,这是社会中自己的唯一标识。

当进程被创建的时候,系统就自动分配给进程一个唯一的pid,pid是正数。

在linux中有两个系统调用函数,可以获取进程的id。

  pid_t getpid(void); //获取进程id(pid)    pid_t getppid(void);//获取其父进程id(ppid)  

所需头文件

# include <sys/types.h>  # include <unistd.h>  

getpid()返回的时调用该函数的进程的pid,getppid()返回的是调用该函数的进程的父进程id(ppid),返回值类型是pid_t,实际上是无符号整型,这两个函数不会出现调用失败的情况

开始测试……

  //mycode.c文件  # include <stdio.h>  # include <sys/types.h>  # include <unistd.h>  int main(void)  {    //创建子进程    pid_t id = fork();    if(id == 0)    {   //子进程    printf("i am child, my id is %dn",getpid());    }    else{                                                                                                                                                             //父进程    printf("i am parent, my id is %dn",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

#include <unistd.h>   pid_t fork(void);  

描述:

fork()函数可以创建子进程,所需的头文件为unistd.h, 返回两次。

  • 如果返回的是0,则表示为子进程
  • 如果返回的是非0,则表示为父进程

到此这篇关于c++进程的创建和进程id标识详细介绍的文章就介绍到这了,更多相关c++进程内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多c/c++开发分享C++进程的创建和进程ID标识详细介绍,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/1236893.html

(0)
上一篇 2022年9月7日
下一篇 2022年9月7日

精彩推荐