按照正常的执行方式,孤儿进程应该被init进程收养(pid=1),但在测试过程中出现问题
这其实和运行界面的不同有关
图形界面伪终端,shell其实是init进程的一个子进程,故孤儿进程其实是被shell所收养
在字符化界面运行时,ppid就是1了
字符化界面控制终端和图形界面伪终端切换:
图形界面伪终端切换到字符化界面控制终端:
Crtl+Alt+F3/Ctrl+Fn+Alt+F3
字符化界面控制终端切换到图形界面伪终端:
Ctrl+Alt+F2/Ctrl+Fn+Alt+F2
下面是源码和两种界面的输出情况
测试源码:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h&