进程调度实验_Linux应用编程之进程的PID与PPID

01cb6e1c654ac963dcfdc5953694eb4a.gif关注、星标公众号,直达精彩内容

25f698603e5194771679186519d5a4c1.png

ID:嵌入式情报局

作者:情报小哥

1进程PID

    首先介绍PID的相关知识,为后面介绍fork函数进行铺垫。

01

PID与PPID 

    PID不是控制理论的PID算法,而是Prcess ID的简写。进程PID是当操作系统运行进程时系统自动为其分配的唯一标识符,用于唯一标识此进程的一个整数,而PPID就是进程的父进程的PID。

    既然是唯一标识,PID也就相当于我们的身份证,一旦被发放即终生标识,这也便于操作系统更好的管理和标识进程,当然一旦进程生命周期结束,此时的PID便会被释放,可供以后的进程再次使用。

02

特殊PID进程

    我们可以通过命令行输入 : ps -aux 来查看当前系统所运行的进程。

890b87fb1fe7fa6672f322193ea5326e.png

  • PID= 0的进程 : 

  • 通常也叫调度进程、idle进程,负责进程之间的调度和切换。该进程是内核的一部分,所有进程的根进程,一般我们是看不到该进程的。

  • PID = 1的进程 :

  • 通常是init进程,Linux几乎所有的进程都是由父进程产生的,PID=1的进程为父原始进程,比如该进程会读取文件系统来完成操作系统的启动。

  • PID = 2的进程 :

  • 也叫kthreadd进程,它的任务就是管理和调度其他内核线程。

2两个常用API函数

01

两个常用API  

    同样我们使用命令行 : man 2 getpid ,从而可以找到该API的详解。

8d2a3225a630cbfb8f7f7b87fcb34097.png

  • 其中getpid表示获得当前进程PID,而getppid是获得当前进程的父进程PID,并且两个函数均能成功返回。

02

实验说明   

  • 实验代码 : 

299d82bb2da2eea5f1f2fe2180e22807.png

  • 实验结果:

2c58cc6e8fd42be46816a2384decc044.png

    同样我们可以通过使用命令行ps -aux看到子进程PID = 45347 = ./Test和父进程PID = 45286 = bash。

ab24648b614ae8e624338941c44999cc.png

3最后

    这里小哥就介绍了PID、PPID以及如何获得进程PID的API函数,今天就分享到这里,下期跟大家一起学学 folk!

我是情报小哥,一个90后嵌入式自学玩家!

edf96efb7e3afa48a0d2f5f74e0b7dbe.gif

0bc84749f03c8e6757073fc3ad22be0d.png

长按前往图中包含的公众号关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作Windows文件夹时,弹出文件夹正在使用,操作无法完成【解决】

在windows系统上,有时候在删除系统文件或文件夹时出现弹框,提示操作无法完成。这种情况的出现是因为你要删除的文件或文件夹被打开,或者被系统占用。遇到这种情况要怎么处理呢,本文介绍下具体的操作方法来帮助你解决这个问题。 方…

邀请合作如何表达_适时表达想法 才有利于彼此的合作

丹尼跟珍妮合作主持一个podcast节目,两人对这个节目兴致勃勃,并花很多时间投入,珍妮想邀请自己身边朋友一起参加,认为特别来宾可以增加节目的丰富度;丹尼却觉得现在节目才刚开始起步,要建立好两人的节目定位…

python泰坦尼克号数据预测_使用python预测泰坦尼克号生还

简介Titanic是Kaggle竞赛的一道入门题,参赛者需要根据旅客的阶级、性别、年龄、船舱种类等信息预测其是否能在海难中生还,详细信息可以参看https://www.kaggle.com/,本文的分析代码也取自 kaggle 中该竞赛的 kernal。数据介绍给出的数据格式如…

idea代码可以编译但是爆红_推荐一款 IDEA 生成代码神器,写代码再也不用加班了...

作者:HeloWxl链接:https://www.jianshu.com/p/e4192d7c6844Easycode是idea的一个插件,可以直接对数据的表生成entity,controller,service,dao,mapper,无需任何编码,简单而强大。1、安装(EasyCode)我这里的话是已经那装好了。建议大…

html跑马灯_用Excel居然能做“跑马灯”,而且还这么简单!

我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加油!你没看错,上面这个就是用Excel做出来的,不过要用到窗体和控件。步骤如下&am…

c语言双链表排序交换节点_图解:单链表翻转的三种方式!

当我们在聊到链表反转的时候,一定说的都是单链表,双链表本身就具有前驱指针 Prev 和后续指针 next,无需进行翻转。单链表反转,反转后的效果如下:看起来很简单,只需要将单链表所有结点的 next 指向&#xff…

wsdl文档中的soap:address的生成规则_BAT大牛都在使用的数据库文档生成插件,不来看一下?...

一、概述在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐…

修订模式怎么彻底关闭_电脑玩游戏卡顿怎么办?

电脑玩游戏卡怎么办?在玩游戏时电脑卡真的是会气死人的,特别是在打团的时候卡了,想砸电脑有木有?那么电脑玩游戏卡怎么办呢?给大家介绍几个方法,可以尝试改善卡顿。软件方面:1、 开启电源性能模…

datepicker不能选择是为什么_为什么客厅不好看?休闲椅选错了

为什么客厅不好看?休闲椅选错了很多装修完毕的小伙伴们经常有这样一个疑问: 为什么我家的客厅看上去这么凌乱,一点都没有想象中井然有致?这其中的潜在原因有很多,比如沙发墙的装饰设计有误,比如各类家具的款式搭配不对…

如何打开屏幕坏的手机_每天打开手机屏幕20次?打开10次以上的朋友进~

现代社会最很普遍的现象就是不管有没有事,不断地打开手机屏幕看时间或者刷各种信息和段子。 一块小小的屏幕却有着巨大的魅力。明明没有任何事情要干,却还是忍不住诱惑(cant resist temptation [tɛmpˈteʃən])想要打开屏幕,仿佛潘多拉的盒…

mvc 两个控制器session 丢失_用纯 JavaScript 撸一个 MVC 程序

前言我想用 model-view-controller 架构模式在纯 JavaScript 中写一个简单的程序,于是我这样做了。希望它可以帮你理解 MVC,因为当你刚开始接触它时,它是一个难以理解的概念。我做了这个todo应用程序,这是一个简单小巧的浏览器应用…

redis线程阻塞原因排插_每次面试都要被问:为什么采用单线程的Redis也会如此之快?...

众所周知,Redis在内存库数据库领域非常地火热,它极高的性能和丰富的数据结构为我们的开发提供了极大的便利。但我们也听说了,Redis是单线程的,为什么采用单线程的Redis也会如此之快呢?这篇文章我们来分析一下其中的缘由…

ssm后台数据是为什么是空值_网易后台开发实习生面试总结

回想到网上流传多年的问题:学历重要?还是能力更重要?上周投了简历,网易HR共来了3个电话(头天晚上两个电话我在做实验没接到,最后第二天中午又给我打了电话),当她来第三个电话的时候,上面的问题在…

iptable 详解_最全的iptables防火墙详解.pdf

最全的iptables防火墙详解iptables /iptables /iippttaabblleess官方网站:hhttttpp::nneettffiilltteerr..oorrgg//• 数据包经过防火墙的路径• 禁止端口• 强制访问某站点• 发布内部网络服务器• 智能DNS• 端口映射• 通过NAT上网• IP 规则的保存与恢复• ipta…

python中函数type可以测试对象类型_python类型检测最终指南--Typing模块的使用

正文共:30429 字预计阅读时间:76分钟原文链接:https://realpython.com/python-type-checking/作者:Geir Arne Hjelle译者:陈祥安在本指南中,你将了解Python类型检查。传统上,Python解释器以灵活但隐式的方式处理类型。…

java 图片分段上传_java 分段读取文件 并通过HTTP上传

1、首先将文件分段,用RandomAccessFile2、分段后将分出的内容上传到http1.[代码][Java]代码URL url new URL(actionUrl);HttpURLConnection con (HttpURLConnection) url.openConnection();/** 允许Input、Output,不使用Cache */con.setDoInput(true);…

python算法的基本原理_kNN算法基本原理与Python代码实践

kNN是一种常见的监督学习方法。工作机制简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k各训练样本,然后基于这k个“邻居”的信息来进行预测,通常,在分类任务中可使用“投票法”,即选择这k个…

python中zip的使用_浅谈Python中的zip()与*zip()函数详解

前言1.实验环境: Python 3.6;2.示例代码地址:下载示例;3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表)。zip(*iterables)函数详解zip()函数的定义从参数中的多个迭代器取元素组合成一个新的迭代…

奥的斯电梯tt服务器使用表_奥的斯电梯服务器TT使用说明1

目录一、TT介绍............................................................................................................... 3二、OTIS TT插头各针脚说明................................................................................................. 4三、T…

python安装提示缺少dll_解决Python安装时报缺少DLL问题【两种解决方法】

准备开始学习Python,但是刚准备环境搭建时就遇到了下面的错误:仔细的看了看,说是缺少DLL。对于这个问题的解决办法:方法一:1. 在安装包上点右键以管理员身份运行2. C:\Users\用户名\AppData\Local\Temp 文件夹上右键-&…