一般PID_MAX=0x8000(可改),因此進程號的最大值為0x7fff,即32767。
進程號0-299保留給daemon進程。
現(xiàn)在的內(nèi)核好像沒有這個限制了,《linux內(nèi)核設計與實現(xiàn)》上說為了與老版本的unix和linux兼容,pid的最大值默認是32767(short int的最大值),如果你需要的話還可以不考慮和老版本兼容,修改/proc/sys/kernel/pid_max來提高上限用echo重新寫入一個數(shù)值到這個文件即可。
由于一般機器不可能同時跑那么多進程+線程,所以32768是肯定夠用了,但是系統(tǒng)傾向于分配未使用過的pid給新進程,所以你會發(fā)現(xiàn)在正在運行的系統(tǒng)上,有很多低位的pid沒有使用,那是因為啟動的時候該pid被其它程序用過了,當然,你真有本事用到pid的最大值,系統(tǒng)也有辦法解決,那就是從頭(低位)搜索未被占用的pid分配給新進程。
總結
以上所述是小編給大家介紹的linux系統(tǒng)下pid的取值范圍,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答