详解linux系统下pid的取值范围
程序员文章站
2022-06-30 16:38:54
一般pid_max=0x8000(可改),因此进程号的最大值为0x7fff,即32767。
进程号0-299保留给daemon进程。
现在的内核好像没有这个限制了,《l...
一般pid_max=0x8000(可改),因此进程号的最大值为0x7fff,即32767。
进程号0-299保留给daemon进程。
现在的内核好像没有这个限制了,《linux内核设计与实现》上说为了与老版本的unix和linux兼容,pid的最大值默认是32767(short int的最大值),如果你需要的话还可以不考虑和老版本兼容,修改/proc/sys/kernel/pid_max来提高上限用echo重新写入一个数值到这个文件即可。
由于一般机器不可能同时跑那么多进程+线程,所以32768是肯定够用了,但是系统倾向于分配未使用过的pid给新进程,所以你会发现在正在运行的系统上,有很多低位的pid没有使用,那是因为启动的时候该pid被其它程序用过了,当然,你真有本事用到pid的最大值,系统也有办法解决,那就是从头(低位)搜索未被占用的pid分配给新进程。
总结
以上所述是小编给大家介绍的linux系统下pid的取值范围,希望对大家有所帮助