OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2064|回复: 0

linux系统下pid的取值范围了解一下

[复制链接]

159

主题

160

帖子

0

精华

高级会员

Rank: 4

积分
537
金钱
537
注册时间
2019-4-28
在线时间
12 小时
发表于 2019-5-8 14:13:09 | 显示全部楼层 |阅读模式
一般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分配给新进程。
http://www.iis7.com/b/yqlj/
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-24 04:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表