进程标识符简介
进程标识符包括:进程标识符、用户标识符、组标识符等一些信息。每个进程都有唯一的进程标识符(PID),系统内核通过标识符来识别不同的进程,同时,进程标识符也是内核提供给用户程序的接口。PID占4个字节(Linux 64位下),32位的无符号整数,Linux上允许的最大PID为32767。当内核在系统中创建第32768个进程时,就必须重新开始使用闲置的PID号。PID是进程运行时系统随机分配的,在进程运行的时候,PID是不会变化的,进程终止后,PID被系统回收,之后就有可能被分配到新运行的进程。
PID可以理解为人的身份证号,每个人都不一样。就算多个进程来自同一个程序,但是这些进程的PID一定是不相同的。
LINUX中用“ ps -e” 来查看进程。在开发中,我们可以通过函数 getpid()来获取当前进程的PID。
pid_t pid = getpid()
PID文件:在Linux系统的/var/run目录下,一般可以看到*.pid文件,而且新安装的程序在运行后也会在这个目录下生成自己的pid文件,pid文件中保存的就是进程的PID。
#cat sshd.pid 993
PID文件的旨在防止进程启动多个副本。只有当进程获取到了对用的pid文件写入权限才可以正常启动。一般有两种方法来利用pid文件防止多个进程副本启动。
- 文件加锁法
- PID读写法