进程ID

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

 类UNIX系统 

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

在各PID中，较为特别的是0号PID和1号PID。PID为0者为交换进程（），属于内核进程，负责分页任务；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在同一个命名空间中，因此二者不会重合。

 PID文件 

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

 参见 
 pidof
 用户标识符（UID）
 （GID）

 参考资料 

Category:进程