我们正在努力恢复Google Play商店上的Unionpedia应用程序
🌟我们简化了设计以优化导航!
Instagram Facebook X LinkedIn

僵尸进程和父进程

快捷方式: 差异相似杰卡德相似系数参考

僵尸进程和父进程之间的区别

僵尸进程 vs. 父进程

在类UNIX系统中,僵尸进程是指完成执行(通过exit系统调用,或运行时发生致命错误或收到终止信号所致)但在操作系统的进程表中仍然有一个表项(进程控制块PCB),处于""的进程。这发生于子进程需要保留表项以允许其父进程读取子进程的exit status:一旦退出态通过wait系统调用读取,僵尸进程条目就从进程表中删除,称之为"回收(reaped)"。正常情况下,进程直接被其父进程wait并由系统回收。进程长时间保持僵尸状态一般是错误的并导致。 英文术语zombie process源自喪屍 — 不死之人,隐喻子进程已死但仍然没有被收割。与正常进程不同,kill命令对僵尸进程无效。孤儿进程不同于僵尸进程,其父进程已经死掉,但孤儿进程仍能正常执行,但并不会变为僵尸进程,因为被init(进程ID号为1)收养并wait其退出。 子进程死后,系统会发送SIGCHLD 信号给父进程,父进程对其默认处理是忽略。如果想响应这个消息,父进程通常在SIGCHLD 信号事件处理程序中,使用wait系统调用来响应子进程的终止。 僵尸进程被收割后,其进程号(PID)与在进程表中的表项都可以被系统重用。但如果父进程没有调用wait,僵尸进程将保留进程表中的表项,导致了。某些情况下这反倒是期望的:父进程创建了另外一个子进程,并希望具有不同的进程号。如果父进程通过设置事件处理函数为SIG_IGN显式忽略SIGCHLD信号,而不是隐式默认忽略该信号,或者具有SA_NOCLDWAIT标志,所有子进程的退出状态信息将被抛弃并且直接被系统回收。 UNIX命令ps列出的进程的状态("STAT")栏标示为 "Z"则为僵尸进程。 收割僵尸进程的方法是通过kill命令手工向其父进程发送SIGCHLD信号。如果其父进程仍然拒绝收割僵尸进程,则终止父进程,使得init进程收养僵尸进程。init进程周期执行wait系统调用收割其收养的所有僵尸进程。 为避免产生僵尸进程,实际应用中一般采取的方式是:. 在计算机领域,父进程(Parent Process)指已创建一个或多个子进程的进程。.

之间僵尸进程和父进程相似

僵尸进程和父进程有(在联盟百科)11共同点: 子进程孤儿进程信号 (计算机科学)理查德·史蒂文斯类UNIX系统系统调用行程控制表致命错误InitSIGCHLDUNIX環境高級編程

子进程

在计算机领域中,子进程為由另外一個进程(对应称之为父进程)所创建的进程。子进程继承了父进程的大部分属性,例如文件描述符。.

僵尸进程和子进程 · 子进程和父进程 · 查看更多 »

孤儿进程

在操作系统领域中,孤儿进程指的是在其父进程执行完成或被后仍继续运行的一类进程。.

僵尸进程和孤儿进程 · 孤儿进程和父进程 · 查看更多 »

信号 (计算机科学)

#重定向 Unix信号.

信号 (计算机科学)和僵尸进程 · 信号 (计算机科学)和父进程 · 查看更多 »

理查德·史蒂文斯

查德·史蒂文斯(William Richard (Rich) Stevens,),美国计算机科学家,是众多的畅销UNIX、TCP/IP书籍的作者。.

僵尸进程和理查德·史蒂文斯 · 父进程和理查德·史蒂文斯 · 查看更多 »

类UNIX系统

#重定向 类Unix系统.

僵尸进程和类UNIX系统 · 父进程和类UNIX系统 · 查看更多 »

系统调用

在電腦中,系統調用(system call),又稱為系統呼叫,指運行在使用者空間的程序向操作系統內核請求需要更高權限運行的服務。系統調用提供用戶程序與操作系統之間的接口。大多數系統交互式操作需求在內核態執行。如設備IO操作或者進程間通信。.

僵尸进程和系统调用 · 父进程和系统调用 · 查看更多 »

行程控制表

-- 行程控制表(PCB,Process Control Block),中國譯作「--」、臺灣及香港譯作「--」,亦有译作任務控制表,是作業系統核心中一種資料結構,主要表示行程狀態。 雖各實際情況不盡相同,PCB通常記載行程之相關資訊,包括:.

僵尸进程和行程控制表 · 父进程和行程控制表 · 查看更多 »

致命错误

在计算机领域中,致命错误(fatal error)或致命异常错误(fatal exception error)是指使程序终止并可能因此让用户返回操作系统的错误。致命错误发生时,程序正在处理的数据可能会丢失。“致命错误”(应用程序层面)经常会和“系统致命错误”(操作系统层面)相混淆。致命错误一般由以下情况产生:.

僵尸进程和致命错误 · 父进程和致命错误 · 查看更多 »

Init

init(为initialization的简写)是 Unix 和 类Unix 系统中用来产生其它所有进程的程序。它以守护进程的方式存在,其进程号为1。Linux系統在開機時載入Linux內核後,便由Linux內核載入init程式,由init程式完成餘下的開機過程,比如載入執行級別,載入服務,啟動Shell/圖形化界面等等。 Unix 系列中(如 System III 和 System V)init的作用,和研究中的 Unix 和 BSD 衍生版本相比,发生了一些变化。大多数Linux发行版是和 System V 相兼容的,但是一些发行版如Slackware 采用的是BSD风格,其它的如 Gentoo 是自己定制的。後來Ubuntu 和其他一些發行版採用 Upstart 來代替 傳統的 init 處理程序。至2015年,大部分Linux發行版都已採用新的systemd替代System V和Upstart,但systemd向下相容System V。.

Init和僵尸进程 · Init和父进程 · 查看更多 »

SIGCHLD

#重定向 子进程.

SIGCHLD和僵尸进程 · SIGCHLD和父进程 · 查看更多 »

UNIX環境高級編程

《--》(Advanced Programming in the UNIX Environment,简称APUE)是理查德·史蒂文斯(Richard Stevens)写的一本介绍UNIX环境C语言编程接口的书籍。被UNIX C程序员誉为“圣经”。.

UNIX環境高級編程和僵尸进程 · UNIX環境高級編程和父进程 · 查看更多 »

上面的列表回答下列问题

僵尸进程和父进程之间的比较

僵尸进程有18个关系,而父进程有26个。由于它们的共同之处11,杰卡德指数为25.00% = 11 / (18 + 26)。

参考

本文介绍僵尸进程和父进程之间的关系。要访问该信息提取每篇文章,请访问: