当前位置: 技术问答>linux和unix
关于进程的那些事
来源: 互联网 发布时间:2016-12-28
本文导语: 今天编了一个程序,查看了进程间关系 ,发现父进程在子进程挂掉之前先挂掉后,系统会将子进程托管给init进程。是这样吗?还是父进程挂之后会将子进程托管给父进程的父进程呢! | http:/...
今天编了一个程序,查看了进程间关系 ,发现父进程在子进程挂掉之前先挂掉后,系统会将子进程托管给init进程。是这样吗?还是父进程挂之后会将子进程托管给父进程的父进程呢!
|
http://en.wikipedia.org/wiki/Orphan_process
具体参考上面,楼主的意思是:父进程结束后,子进程是否会被父进程的父进程收养,也就是爷爷进程。答案是:不会,如果直接父进程挂了,init就会接管,不管它的爷爷或者什么的还健在。
执行上述代码,立刻执行 ps -ef 你会发现 a.out 的 PPID立即变为1, 而不是你的shell,所在的进程ID
具体参考上面,楼主的意思是:父进程结束后,子进程是否会被父进程的父进程收养,也就是爷爷进程。答案是:不会,如果直接父进程挂了,init就会接管,不管它的爷爷或者什么的还健在。
#include
#include
#include
int main(void)
{
pid_t pids[10];
int i;
for (i = 9; i >= 0; --i) {
pids[i] = fork();
if (pids[i] == 0) {
sleep(i+1);
_exit(0);
}
}
return 0;
}
执行上述代码,立刻执行 ps -ef 你会发现 a.out 的 PPID立即变为1, 而不是你的shell,所在的进程ID
|
http://en.wikipedia.org/wiki/Linux_startup_process
The startup function for the kernel (also called the swapper or process 0) establishes memory management (paging tables and memory paging), detects the type of CPU and any additional functionality such as floating point capabilities, and then switches to non-architecture specific Linux kernel functionality via a call to start_kernel ().
pid=0是一个叫swapper的进程,具体参考wiki
The startup function for the kernel (also called the swapper or process 0) establishes memory management (paging tables and memory paging), detects the type of CPU and any additional functionality such as floating point capabilities, and then switches to non-architecture specific Linux kernel functionality via a call to start_kernel ().
pid=0是一个叫swapper的进程,具体参考wiki
|
关于pid=0,我对这方面也不甚了解,不过根据wiki上的说明,Kernel startup stage,它是在内核初始化的时候用到,比如初始化内存管理、分页表,检测CPU类型等等。
对于你倒数第二个帖子,是个语文问题,没看明白你要问什么,呵呵:)
对于你倒数第二个帖子,是个语文问题,没看明白你要问什么,呵呵:)
|
交给init 进程,我记得也是这样的。
|
父进程挂之后会将子进程托管给父进程的父进程
如果找不到, 会由init接管.
如果找不到, 会由init接管.
|
对,没错,就是init进程
|
父进程结束则直接有init接管。
|
内核start_kernel -> rest_init -> kernel_init线程 -> init_post-> run_init_process
然后这个0号线程就进入了无尽的的等待,cpu_idle
然后这个0号线程就进入了无尽的的等待,cpu_idle
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。