关注、星标公众号,直达精彩内容
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!
—— The End ——
领取专属 10元无门槛券
私享最新 技术干货