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

一般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的取值范围,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • linux根据pid获取进程名和获取进程pid(c语言获取pid)

    Liunx中通过进程名查找进程PID可以通过 pidof [进程名] 来查找.反过来 ,相同通过PID查找进程名则没有相关命令.在linux根目录中,有一个/proc的VFS(虚拟文件系统),系统当前运行的所有进程都对应于该目录下的一个以进程PID命名的文件夹,其中存放进程运行的N多信息.其中有一个status文件,cat显示该文件, 第一行的Name即为进程名. 打开stardict程序,进程名为stardict: shell中分别根据Pid获取进程名.根据进程名获取Pid 1)查找stard

  • linux mysql 报错:MYSQL:The server quit without updating PID file

    1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 "chown -R mysql:mysql /var/data" "chmod -R 755 /usr/local/mysql/data"  然后重新启动mysqld! 2.可能进程里已经存在mysql进程解决方法:用命令"ps -ef|grep mysqld"查看是否有mysqld进程,如果有使用"kill -9  进

  • Linux pidof命令使用总结

    一.什么是pidof命令? 复制代码 代码如下: #man pidof中的解释:pidof - find the process ID of a running program.pidof–用于查找一个运行的程序的PID.pidof is actually the same program as killall5;[root@GoGo ~]# ls -l /sbin/pidoflrwxrwxrwx. 1 root root 8 Aug 25 00:40 /sbin/pidof -> killal

  • Linux下/var/run/目录下的pid文件详解及pid文件作用

    先给大家介绍下Linux下/var/run/目录下的pid文件,具体详解如下所示: linux系统中/var/run/目录下的*.pid文件是一个文本文件,其内容只有一行,即某个进程的PID..pid文件的作用是防止进程启动多个副本,只有获得特定pid文件(固定路径和文件名)的写入权限(F_WRLCK)的进程才能正常启动并将自身的进程PID写入该文件,其它同一程序的多余进程则自动退出. 编程实现: 调用fcntl()系统调用设置指定的pid文件为F_WRLCK锁状态,如果锁成功则写入当前进程的P

  • Linux下进程数量的限制pid_max的配置方法

    这是在阅读另外一个产品的告警指导书时,无意中发现 pid_max 这个参数. 原来Linux内核对于进程的数量使用 pid_max 做控制. 做一些简单的试验,如下演示获取当前配置值的方法: # cat /proc/sys/kernel/pid_max 32768 # sysctl -a|grep pid_max kernel.pid_max = 32768 如下是 sysctl 命令的帮助. # sysctl -h Usage: sysctl [options] [variable[=valu

  • Linux中怎么通过PID号找到对应的进程名及所在目录方法

    有时候通过top命令可以看到有个别进程占用的内存比较大,但是top无法直接查看到进程名以及进程所在的目录.所以我们可以通过以下方法来定位. 首先需要知道PID号,可以通过top命令获取. 然后我们可以用ps看以下大致信息(ps出来的信息个人觉得比较乱,不是很方便查找) [root@iZbp13806tx36fgoq7bzk1Z 28990]# ps -aux |grep -v grep|grep 28990 28990 0.7 14.0 5112056 1128224 ? Ssl Sep26 2

  • Linux/ubuntu 下安装pyspider的过程

    首先执行 pip install pyspider 此时系统提示 <span style="font-size: 16px;">Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-Lau0Qp/pycurl/  You are using pip version 9.0.1, however version 9.0.3 is available.  Y

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

    一般PID_MAX=0x8000(可改),因此进程号的最大值为0x7fff,即32767. 进程号0-299保留给daemon进程. 现在的内核好像没有这个限制了,<linux内核设计与实现>上说为了与老版本的unix和linux兼容,pid的最大值默认是32767(short int的最大值),如果你需要的话还可以不考虑和老版本兼容,修改/proc/sys/kernel/pid_max来提高上限用echo重新写入一个数值到这个文件即可. 由于一般机器不可能同时跑那么多进程+线程,所以3276

  • 详解Linux系统三种模式下的简单命令

    i的编辑器: 1.三种模式:底行模式 命令模式 插入模式 命令模式: 1.从命令切换插入模式: i : 光标所在左侧输入 I 光标移动到所在行的最左则    o :光标移动的下一行(新的一行) O:光标移动的上一行(新的一行)    a :光标移动到所在行的右则输入 A:光标移动到所在行的最右则 2.复制:(n代表数字) 行: nyy n>0 单词:nyw n>0 3.粘贴:p 4.撤消到上一步骤:u 5.恢复到上一步: ctrl+r 6.替换: 替换一个字符:r 连续替换    :R 7.定

  • 详解Linux系统中Oracle数据库程序的启动和关闭方式

    在单机环境下,要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle Oracle数据库有以下几种启动方式: 1. startup nomount 非安装启动,这种方式启动下可执行:重建控制文件.重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件. 2. startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档. 数据库介质恢复. 使数据文件联机或脱机, 重新

  • 详解Linux 操作系统下安装rpm包的方法步骤

    第2代Linux操作系统在安装软件方面相当简单:第一步,搜索你要的软件,比如你要找一个游戏软件,它的名称叫myward,这个游戏软件的说明是:myown war game.Linux操作系统搜索这个软件包就只需要输入命令apt-cache searchmyward,或者输入软件名称的一部分apt-cache searchwar,或者你不知道软件名称. 下面有一张图可以清晰地表示linux软件应用的架构关系: 在Linux启动的时候.首先会启动内核(kernel),内核是一段计算机程序,这个程序直

  • 详解Linux系统中网卡MAC地址克隆方法

    怎么临时性地改变 MAC 地址? 你可以在 Linux 运行的时候改变 MAC 地址.需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线.当电脑重启时 MAC 地址又会变回原来的.下面介绍几种方法来改变你的 MAC 地址. 方法一:iproute2 $sudo ip link set dev eth0 down $sudo ip link set dev eth0 address 00:00:00:00:00:01 $sudo ip link set dev eth0 up 方法二:m

  • 详解linux系统输入输出管理和vim的常用功能

    ####系统中输入输出的管理#### 1.理解系统的输入输出重定向 输入重定向是指把文件导入到命令中,而输出重定向则是把原本要输出到屏幕的数据信息写入到指定文件中. 2.管理输入输出的符号 ##输出重定向 >       ##重定向正确输    2>       ##重定向错误输出    &>       ##重定向所有输出 注意: 重定向会覆盖原文件内容 >>     ##不会覆盖原文件内容    2>>     ##错误输出,不覆盖    &&

  • 详解Linux系统中虚拟设备文件的各种实用用法

    大家好,我是良许. 大家知道,在 Linux 下,一切皆文件,对于设备文件也是如此.我们在工作的过程中,经常会看到 /dev/null 这个玩意,那它到底是什么呢? 专业地讲,/dev/null 是一个虚拟设备文件.而对程序而言,这些虚拟设备文件则会被当成真实的文件对待.程序可以向这种数据源请求数据,所得到的数据将由操作系统提供.但是,这些数据并不是从磁盘上读取到的,而是由操作系统动态生成的.虚拟设备文件的一个典型例子就是 /dev/zero . 然而,当你想向 /dev/null 写入数据时,

  • 详解Linux系统无法上网解决方案

    1.linux系统iso镜像文件最好不要使用lived版本的,之前安装这个版本linux系统,每次新建文件夹,下载的资源在重启之后都没法使用,后来下载就好了. 2.但是下载如此版本出现一个问题,使用ifconfig命令来查看系统的ip地址,一开始出现的是如下情况,没有ipv4地址,如下图 3,如果没有ipv4地址则使用命令,首选选择linux的连接为桥连接 右键centos64位点击设置,出现如下图 如果不是桥连接,点击网络适配器进行选择. 标箭头的一定要设置成这样. ,dhclient eth

  • 详解layui中的树形关于取值传值问题

    本文介绍了layui中的树形关于取值传值问题,分享给大家,具体如下: 这个是我们需要的效果,实际操作中会先执行渲染 然后在执行方法,然后我们发现树形的JSON是空,调试了N遍一直以为是优先级别的问题了. 最后解决方案是 <script type="text/javascript"> ////layui 的 form 模块 var form = ""; layui.use(['form'], function () { // $ = layui.jquer

  • 详解Linux系统中的tempfs与/dev/shm

    tmpfs 是 Linux/Unix 系统上的一种基于内存的文件系统,即 tmpfs 使用内存或 swap 分区来存储文件. Linux 内核中的 VM 子系统负责在后台管理虚拟内存资源 Virtual Memory,即 RAM 和 swap 资源,透明地将 RAM 页移动到交换分区或从交换分区到 RAM 页,tmpfs 文件系统需要 VM 子系统的页面来存储文件.tmpfs 自己并不知道这些页面是在交换分区还是在 RAM 中:做这种决定是 VM 子系统的工作.tmpfs 文件系统所知道的就是它

随机推荐