什么是僵尸进程(Zombie Process)?

僵尸进程是一个计算机程序的实例,尽管已完成执行,但仍保留进程表记录。由于处理子进程的方式,此类已失效的进程通常与Unix®和其他类似操作系统关联。当子进程完成执行时,父进程通常负责将其从进程表中删除。通常不可能使...
僵尸进程是一个计算机程序的实例,尽管已完成执行,但仍保留进程表记录。由于处理子进程的方式,此类已失效的进程通常与Unix®和其他类似操作系统关联。当子进程完成执行时,父进程通常负责将其从进程表中删除。通常不可能使用kill命令直接删除僵尸进程,但如果操作员使用signal child(SIGCHLD)通知,则通常可以让父进程将其删除。否则,可以通过终止parent.Man holding computer Zombie进程是一个隐喻性的描述性术语,指的是活死人。在Unix®和类似操作系统中,失效的进程可以被视为类似于僵尸,因为它们在不再执行其预期功能的情况下仍保持进程表的存在。当进程完成时执行它有时被称为死亡,而操作系统恢复其进程表分配的方式可能被称为收获(reaping),僵尸的父进程在技术上应该收获它的子进程,尽管这种情况并不总是发生。在某些情况下,僵尸进程的存在可能是有意的,甚至是需要的。子进程停止执行后,父进程可能需要稍后运行同一程序的另一个实例。如果尚未从进程表中删除僵尸,新的子进程将不会被分配与旧子进程相同的标识(ID)。某些程序可能会从中受益,甚至需要这种区分。如果父进程没有执行wait命令来捕获它所负责的僵尸,可能会强制执行这个问题,这通常是通过kill命令并向父进程发送SIGCHLD信号来完成的如果一切正常,接收此信号的父进程应获取其僵尸子进程,以便其ID和进程表位置可以重用。在某些情况下,父进程可能会忽略SIGCHLD信号。如果发生这种情况,并且操作员仍希望清除进程表,父进程可能会被终止。父进程创建的任何僵尸都将被分配为init进程的子进程。由于init会定期在其子进程上启动wait命令,它负责的任何僵尸最终都将从进程表中删除
  • 发表于 2020-08-06 07:28
  • 阅读 ( 1077 )
  • 分类:电脑网络

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具