当前位置: 技术问答>linux和unix
linux产生的进程号规则
来源: 互联网 发布时间:2016-09-20
本文导语: 想问下Linux进程号的产生规则,比如说init的进程号为1,那么他产生的子进程号是否为2,3,4,5.....? 我通过观察发现,linux的进程号似乎跟很多因素有关,用户,父进程等等,因此我想问下有没有相关的详细资料 如果涉及到各个版...
想问下Linux进程号的产生规则,比如说init的进程号为1,那么他产生的子进程号是否为2,3,4,5.....?
我通过观察发现,linux的进程号似乎跟很多因素有关,用户,父进程等等,因此我想问下有没有相关的详细资料
如果涉及到各个版本的就更好了,万分感谢
我通过观察发现,linux的进程号似乎跟很多因素有关,用户,父进程等等,因此我想问下有没有相关的详细资料
如果涉及到各个版本的就更好了,万分感谢
|
linux 0.11
int find_empty_process (void)
{
int i;
repeat:
if ((++last_pid) page && !test_and_set_bit(offset, map->page))) {
/*
* There is a small window for last_pid updates to race,
* but in that case the next allocation will go into the
* slowpath and that fixes things up.
*/
return_pid:
atomic_dec(&map->nr_free);
last_pid = pid;
return pid;
}
.....
}
int find_empty_process (void)
{
int i;
repeat:
if ((++last_pid) page && !test_and_set_bit(offset, map->page))) {
/*
* There is a small window for last_pid updates to race,
* but in that case the next allocation will go into the
* slowpath and that fixes things up.
*/
return_pid:
atomic_dec(&map->nr_free);
last_pid = pid;
return pid;
}
.....
}
|
我猜是新生成的进程PID为目前最大PID+1