计算机控制中的pid是什么意思,PID 是什么意思

进程标识符(PID)是大多数操作系统的内核用于唯一标识进程的一个数值。这一数值可以作为许多函数调用的参数,以使调整进程优先级、杀死进程之类的进程控制行为成为可能。

在计算机领域,进程标识符(process identifier,又略称为进程 ID,或者 PID)是大多数操作系统的内核用于唯一标识进程的一个数值。这一数值可以作为许多函数调用的参数,以使调整进程优先级、杀死进程之类的进程控制行为成为可能。

761ecc766cbd8ffe9501b1ea4c03666f.png

类 UNIX 系统

在类 UNIX 操作系统中,新进程都衍自系统调用 fork()。fork()调用会将子进程的 PID 返回给父进程,使其可以之指代子进程,从而在需要时以之为函数参数。例如,若以子进程 PID 为参数调用 waitpid(),可使父进程以休眠状态等待子进程结束;若以之为参数调用 kill(),便可结束对应子进程。

在各 PID 中,较为特别的是 0 号 PID 和 1 号 PID。PID 为 0 者为交换进程(英语:swapper),属于内核进程,负责分页任务;PID 为 1 者则常为 init 进程,主要负责启动与关闭系统。值得一提的是,1 号 PID 本来并非是特意为 init 进程预留的,而 init 进程之所以拥有这一 PID,则是因为 init 即是内核创建的第一个进程。不过,现今的许多 UNIX/类 UNIX 系统内核也有以进程形式存在的其他组成部分,而在这种情况下,1 号 PID 则仍为 init 进程保有,以与之前系统保持一致。

PID 的分配机制则因系统而异,一般从 0 开始,然后顺序分配,直到达到一个最大值(亦因系统而异),而后又从 300 开始重新分配;在 Mac OS X 和 HP-UX 下,则是由 100 开始重分配。在分配 PID 时,若遇到已分配的 PID,则直接跳过,继续递增查找下一个可分配 PID。

Microsoft Windows

Microsoft Windows 系列操作系统提供了一系列 API,以使开发者可以获取相关 PID,如用于获取当前进程 PIDGetCurrentProcessId()、返回其他进程 PID 的 GetProcessId()。在操作系统内部,进程 ID 与线程 ID 在同一个名字空间中,因此二者不会重合。

有些长时间运行的进程(如 MySQL 的守护进程)会将自己的 PID 写入一个文件,以使其他进程可寻获之。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值