c - 中止系统调用行为

标签 c linux unix signals

我有一个正在处理信号SIGCHLD的父进程。 如果我在子进程中调用 abort(),则会在子进程中引发 SIGABRT 信号。

我的问题是,子进程核心转储时,是否会向父进程发送SIGCHLD信号?

最佳答案

一旦子进程死亡,SIGCHLD 信号总是由操作系统(至少是 unixoid)发送到您的进程 - 无论它因何种原因死亡(由于 SIGABRT 或 SIGSEGV,定期终止)通过调用 exit 或简单地离开 main,...)。

您可以在提供给 wait 系列函数的状态变量中获取有关子级发生的情况的一些信息,这是您可以找到的一个小示例,例如: G。 here .

关于c - 中止系统调用行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44127129/

相关文章:

在多维数组上使用 Realloc 和 strcat 时缺少字符?

c - c中printf函数的修改

linux - 在 Windows 7 中查看文件权限(如 Linux 操作系统)

bash - 执行awk输出

linux - 如何设置 cron 在特定时间只运行一次文件?

c - pty 和 tty 是什么意思?

android - 是否可以在 native C 中读取 logcat?

c - 字符串终止 C/C++ char = 0

linux - 如何删除命令结果之前的 "Note:"?

linux - Eclipse Luna 不工作(Kali Linux)