gpt4 book ai didi

c - 为什么 parent 应该死,在创建守护进程的过程中

转载 作者:太空狗 更新时间:2023-10-29 15:32:02 26 4
gpt4 key购买 nike

"因此,启动守护进程的常用方法包括 fork 一次或两次,并在子进程开始执行其正常功能时让父进程死亡。"我正在研究操作系统概念,但我不明白上面所说的几行。为什么在创建Daemon的过程中会导致父进程退出(或父进程死亡)?有人可以解释一下吗。

最佳答案

传统上,守护进程被定义为一个进程,其父进程是系统的 init 进程,并且在后台运行。例如,如果您要在终端中执行某个程序,您的 shell 将创建一个进程(在前台或后台)并且该程序将以您的 shell 作为其父进程运行。这是一个非守护进程的示例,因为它的父进程是您的 shell 进程。

那么如何产生一个父进程是init进程呢?好吧,如果一个进程的父进程在它(子进程)退出之前就已经死了,那么它就变成了一个孤儿进程。孤儿进程将依次重新成为 init 进程的父级。瞧,该进程现在符合守护进程的定义。

将此与您的报价联系起来,如果您 fork 一次然后杀死父级,则可以达到预期的效果。同样,如果您 fork 一次,然后让那个 child fork 另一个进程,然后杀死第一个 child ,您也可以在保持(现在的祖 parent )进程存活的同时达到预期的效果。

关于c - 为什么 parent 应该死,在创建守护进程的过程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36546414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com