TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货linux僵尸进程是什么意思思维导图

linux僵尸进程是什么意思思维导图

  收藏
  分享
免费下载
免费使用文件
Sure 浏览量:12022-09-13 22:20:11
已被使用0次
查看详情linux僵尸进程是什么意思思维导图

linux僵尸进程是一个已经终止但是其父进程尚未对其进行善后处理获取终止进程的有关信息的进程;僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。

树图思维导图提供 linux僵尸进程是什么意思 在线思维导图免费制作,点击“编辑”按钮,可对 linux僵尸进程是什么意思  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:95682c0109a1a7959aeab5b6b1eed812

思维导图大纲

linux僵尸进程是什么意思思维导图模板大纲

僵尸进程

是指一个已经终止、但是其父进程尚未对其进行善后处理获取终止进程的有关信息的进程

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源

此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源

我们都知道进程的工作原理

我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。 进程停止后, 该进程就会从进程表中移除

你可以通过 System-Monitor 查看当前进程

In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for it, is called a zombie. 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程

但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程, 因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程, 看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init 来接管他,成为他的父进程

怎么查看僵尸进程

利用命令ps,可以看到有父进程ID为1的进程是孤儿进程;s(state)状态为Z的是僵尸进程

注意:孤儿进程(orphan process)是尚未终止但已停止(相当于前台挂起)的进程,但其父进程已经终止,由init收养;而僵尸进程则是已终止的进程,其父进程不一定终止

怎样来清除僵尸进程

改写父进程,在子进程死后要为它收尸。具体做法是接管SIGCHLD信号。子进程死后, 会发送SIGCHLD信号给父进程,父进程收到此信号后,执行 waitpid()函数为子进程收尸

这是基于这样的原理:就算父进程没有调用wait,内核也会向它发送SIGCHLD消息,尽管对的默认处理是忽略, 如果想响应这个消息,可以设置一个处理函数

把父进程杀掉。父进程死后,僵尸进程成为"孤儿进程",过继给1号进程init,init始终会负责清理僵尸进程,关机或重启后所有僵尸进程都会消失

例如,如果 PID 5878 是一个僵尸进程,它的父进程是 PID 4809,那么要杀死僵尸进程 (5878),您可以结束父进程 (4809)

$ sudo kill -9 4809 #4809 is the parent, not the zombie

杀死父进程时要非常小心,如果一个进程的父进程就是 PID 1 ,并且你还杀死了它,那么系统将直接重启

相关思维导图模板

linux目录操作类命令思维导图

树图思维导图提供 linux目录操作类命令 在线思维导图免费制作,点击“编辑”按钮,可对 linux目录操作类命令  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4b868011d981c0e1537fe8a13a5b9a6d

linux常用基本命令思维导图

树图思维导图提供 linux常用基本命令 在线思维导图免费制作,点击“编辑”按钮,可对 linux常用基本命令  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:cf1a68fa2c90dc9dc3ba91b968b0f5b6