Linux PID回收[关闭]


74

Linux中是否有关于回收使用过的PID的政策?我的意思是,如果使用了PId,将在多长时间后再次使用它?


1
我也很好奇,我只是想知道,如果新的东西采用了旧的pid,那么按pid查找进程将如何工作
notbad.jpeg 2012年

2
在我看来,PID仅应用于标识当前正在运行的进程。如果您遵循该政策,则PID回收的确切方式永远不会影响您。试图依靠PID的回收方式是脆弱的。仅出于这个原因,您就不应该这样做。此外,我无法想象这样的行为如何有用。您唯一想知道的是PID可以有多大。例如,这样做的结果之一就是系统支持多少个进程。请注意,不需要任何有关回收的工作原理的知识就可以实现这一目标。
allyourcode 2015年

6
@allyourcode尝试编写类似程序,top而不用担心PID的回收方式。
notbad.jpeg,2016年

为了给您一个现实的例子,PID可以重复出现的频率,我经常在频繁使用的Ubuntu主机上每隔约2小时看到一次,有时甚至更多。
菲比

Answers:


58

随着新进程的加入,PID将增加到与系统有关的限制,然后回绕。在这种回绕发生之前,内核将不会重用PID。

限制(最大pids)为/proc/sys/kernel/pid_max该手册说:

/proc/sys/kernel/pid_max (从Linux 2.5.34开始)

该文件指定PID环绕的值(即,该文件中的值比最大PID大1)。此文件的默认值32768导致PID范围与早期内核相同


好。那么严格遵守这一增长政策吗?还是可以在达到限制之前重用PID?
天鹅座

1
我以为pid在包装之前已被重用,但是在ps -A -L -o lwp |sort -n发现大约32372的pid仍在使用之后;所以我的猜测是它在我的系统中很快就卷起来了!即使不是很频繁,但至少在启动时。
Aquarius Power

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.