linux系統下pid的取值範圍

2021-06-04 14:33:00 字數 412 閱讀 7566

一般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

linux查詢pid有多種方式,可通過遍歷 proc目錄下程序執行資訊及shell ps命令 1.遍歷 proc目錄 linux下每個執行的程序都會在 proc目錄下建立該程序pid目錄,proc pid 目錄下有 status,cmdline等描述程序執行引數,狀態等資訊.執行可能沒有命令列引數,...

Linux下檢視指定程序的PID

pgrep l name root master pgrep l python 45086 python3 pgrep的引數 檢視指定名稱的程序資訊 預設只顯示pid 1 root master pgrep ssh 2 3686 3 7907 4 8815 5 12874 同時顯示pid和proce...

c語言long和long long的取值範圍

溢位和取值範圍 c語言的整型溢位問題 整數溢位 c和指標 中寫過 long與int 標準只規定long不小於int的長度,int不小於short的長度。double與int型別的儲存機制不同,long int的8個位元組全部都是資料位,而double是以尾數,底數,指數的形式表示的,類似科學計數法,...