以下这个程序再运行一遍,父进程和子进程号会变吗?9
发布网友
发布时间:2023-10-19 19:53
我来回答
共1个回答
热心网友
时间:2024-11-17 11:02
会不同的,理论上极端情况下可能会相同,但是这种极端情况是不可能出现的
pid指的是进程号的意思,每次开机之后操作系统就在不断的根据用户的需求建立进程,建立进程系统就会给这个进程分配一个进程号(pid),进程一旦完结,这个进程号就不再对应一个进程了,如果此时再执行这个程序建立一个新的进程,那它将会有一个新的进程号(比原来的进程号要大),在操作系统内部,进程号使用一个16位(32位?)的数来表示,这个数记录了当前已经分配的最大的进程号。每次新建一个进程这个数就会加1,但是释放一个进程不会减1(因为释放的进程号有可能很小是吧,这样的话假设现最大进程的号是1999了,下一个要分配的号就是2000,现在释放一个200号的进程肯定不能让1999-1,然后在分配1999),直到最大的进程号使得这个16位或32位的数不能表示了,那么系统就会重新查找已经释放的可用的进程号(比如刚才的200)再重新分给一个新建的进程,但是这种情况是很难出现的