linux进程pid是往上增加的,直到遇到系统设置的最大值,然后接着从头开始产生。
当前系统的进程最大值被保存在/proc/sys/kernel/ns_last_pid。
写下面一个程序(forktest5.c):
#include <stdio.h>
#include <unistd.h>
int main()
{
int pid = getpid();
printf("pid is %d\n", pid);
return 0;
}
可以查看/proc/sys/kernel/ns_last_pid的值,然后运行./forktest5,打印如下:
可以看到新产生的进程id是4054。
可以更改/proc/sys/kernel/ns_last_pid的值,使得新产生的pid以新的值起步,比如: