当前位置:首页 > > 小麦大叔
[导读]首先介绍PID的相关知识,为后面介绍fork函数进行铺垫。

ID:嵌入式情报局

作者:情报小哥


1进程PID


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


01

PID与PPID


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


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


02

特殊PID进程


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



  • PID= 0的进程 :


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


  • PID = 1的进程 :


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


  • PID = 2的进程 :


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


2两个常用API函数


01

两个常用API


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



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


02

实验说明


  • 实验代码 :



  • 实验结果:



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



3最后


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


免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭