孤儿进程:正常情况下,一个父进程退出,子进程也会随之而销毁,但是有一种情况,父进程终止之后,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。因为每个进程都必须体现在进程树里,父进程和子进程之间都是以树状结构的状态呈现出来的,所以这些孤儿进程就会被它的1号进程systemd来收养,systemd1就像是一个收容所,专门负责处理孤儿进程的善后工作。每当出现一个孤儿进程的时候,内核就把孤儿进程的父进程设置为1号进程systemd
在日常生产中,比如有一个比较大的,长时间运行的程序,例如备份,因为备份执行的时间会比较长,如果在执行过程中或者快执行完的时候,父进程出现了异常,比如不小心窗口异常关闭,导致子进程无法进行了,为了避免程序受到父进程的干扰,即使父进程出问题也不希望子进程受影响,那么screen命令就可以帮我们解决这个问题。
过程如下:
pstree -p先看一下自己的当前PID
操作程序之前先执行screen命令,执行完之后pstree –p看一下进程树,就会出现一个screen的子进程
比如执行一下ping命令,进程树上会出现ping的子进程
假如PID22979的窗口意外关闭,一般情况下,子进程也会随之销毁,但是执行screen命令之后,父进程出现问题,screen命令会自动把子进程或者孤儿进程分配到1号进程systemd下,这样的话子进程也不会受到任何影响仍可以正常运行