首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SIGCHLD信号处理

SIGCHLD信号处理
EN

Stack Overflow用户
提问于 2012-03-24 04:18:37
回答 2查看 22.5K关注 0票数 7

在Unix中,当子进程在后台终止时,它会向父进程发送SIGCHLD信号,通知父进程终止。

即使进程在前台,也会发生同样的情况吗?如果是这样,这意味着父级将忽略它。

是这样的吗?或者如果它在前台,那么根本不会发送任何信号?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-24 05:06:47

背景和前景是作业控制概念,是shell的一部分。它们应用于进程,并且不影响哪个进程派生(执行)另一个进程。

子进程是fork()-exec()调用的结果。子进程获取执行fork()调用的进程的父pid。这是SIGCHLD信号的上下文,父pid接收SIGCHLD信号。子进程是“前台”还是“后台”并不重要,只有在进程退出时ppid才是重要的。

票数 16
EN

Stack Overflow用户

发布于 2012-03-24 04:36:42

没有前景孩子这回事。术语后台进程用于简单地表示我们主要处理父进程(它可以创建子进程来完成其工作的一部分)。当子进程退出时,SIGCHLD总是被发送到父进程。但是,父进程通常会忽略它。如果父进程想要处理子进程的退出或仅在子进程退出后才执行某些操作,那么它可以使用wait()系统调用来获取子进程的状态。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9845991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档