C-退出(..):它将导致父程进程终止



如果我在子进程中调用exit(1),此操作是否也会导致父进程终止?或仅通过出口(1)?

终止儿童过程
man exit

这显示

exit()函数导致正常[current/child]过程终止, [exit]状态的值将返回给父[process] (请参阅等待(2))。 ...

退出()后,退出状态必须传输到父进程。有三种情况。如果父母已经设置了SA_NOCLDWAIT,或者将SIGCHLD处理程序设置为sig_ign,则将状态丢弃。如果父母在等孩子,则将其通知出口状态。 在这两种情况下,退出的过程立即死亡。如果父母没有表明它对退出状态不感兴趣,而是在等待,则退出过程会变成"僵尸"过程(这无非是代表出口的单个字节的容器 状态),以便父母稍后调用等待(2)函数之一时可以学习退出状态。

exit不会导致父也退出。它导致当前过程的正常过程终止。

no,exit()不会终止父进程。exit()函数将终止当前过程,并将出口代码返回到父进程。因此,如果您使用退出(1),则退出代码1将返回到父进程。

相关内容

  • 没有找到相关文章

最新更新