详解linux系统下pid的取值范围

  

一般PID_MAX=0 x8000(可改),因此进程号的最大值为0 x7fff,即32767 .

  

进程号0 - 299保留给守护进程进程。

  

现在的内核好像没有这个限制了,《linux内核设计与实现》上说为了与老版本的unix和linux兼容,pid的最大值默认是32767 (int的最大值),如果你需要的话还可以不考虑和老版本兼容,修改/proc/sys/kernel/pid_max来提高上限用回声重新写入一个数值到这个文件即可。

  

,由于一般机器不可能同时跑那么多进程+线程,所以32768是肯定够用了,但是系统倾向于分配未使用过的pid给新进程,所以你会发现在正在运行的系统上,有很多低位的pid没有使用,那是因为启动的时候该pid被其它程序用过了,当然,你真有本事用到pid的最大值,系统也有办法解决,那就是从头(低位)搜索未被占用的pid分配给新进程。
  

  

  

以上所述是小编给大家介绍的linux系统下pid的取值范围,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

详解linux系统下pid的取值范围