C++进程的创建和进程ID标识详细介绍

C++进程的创建和进程ID标识详细介绍

目录

进程的ID

进程创建

进程的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 %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

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

描述:

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

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

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

到此这篇关于C++进程的创建和进程ID标识详细介绍的文章就介绍到这了,更多相关C++进程内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    AMD和NVIDIA之间的图形大战

    AMD和NVIDIA之间的图形大战,,图形卡作为计算机主机的重要组成部分,承担着图形输出和显示的任务。今天,在娱乐、视听享受的追求,显卡的地位将

    怎样设置id账号|id账户怎么设置

    怎样设置id账号|id账户怎么设置,,1. id账户怎么设置1.在iPhone主屏上找到“AppStore”图标,点击打开。2.打开AppStore应用商店以后,用手指向

    重置快捷键|idea重置快捷键

    重置快捷键|idea重置快捷键,,idea重置快捷键1、首先打开IDEA之后,点击任务栏的“File”。2、在下拉列表中中选择“Settings”3、在弹出的设

    overture快捷键|@override快捷键

    overture快捷键|@override快捷键,,1. @override快捷键答:CAD标注快捷键命令大全:1. 快速标注-QDIMCAD快速标注快捷键命令为:QDIM,主要用于从选

    德国ICT联想推IdeaPadU300s上标

    德国ICT联想推IdeaPadU300s上标,,2012 CeBIT展将在汉诺威举行,德国从3月6日到10日,在汉诺威,德国的CeBIT展会上,是最大的ICT(信息通信技术)在世

    如何免费注册appid

    如何免费注册appid,右下角,应用程序,如何免费注册appid1.打开Appstore2.任意点开一个免费应用程序,并点击下载。3.从弹出的对话框中,选择“