- 论坛徽章:
- 0
|
本帖最后由 奇门遁甲-lu 于 2010-10-24 17:40 编辑
根据以前的说法 init 进程1是除进程0以外的所有进程的父进程
你说的不完整,应该是, 一个进程的父进程没了,这个进程将变成孤儿进程,
所有孤儿进程的父进程都是init进程.
2.6.22以前没有kthreadd这个线程,那么除了进程0外,其他进程都是init进程
或其子进程不断fork出来的。
2.6.22及以后,很多内核线程由kthreadd线程create_kthread出来。
看,下面很多内核线程的父进程都是2, kthreadd的pid = 2;
- [lu@localhost ~]$ ps -ef
- UID PID PPID C STIME TTY TIME CMD
- root 1 0 0 09:20 ? 00:00:01 /sbin/init
- root 2 0 0 09:20 ? 00:00:00 [kthreadd]
- root 3 2 0 09:20 ? 00:00:00 [ksoftirqd/0]
- root 4 2 0 09:20 ? 00:00:00 [watchdog/0]
- root 5 2 0 09:20 ? 00:00:00 [events/0]
- root 6 2 0 09:20 ? 00:00:00 [cpuset]
- root 7 2 0 09:20 ? 00:00:00 [khelper]
- root 10 2 0 09:20 ? 00:00:00 [async/mgr]
- root 259 2 0 09:20 ? 00:00:01 [kblockd/0]
复制代码 |
|