gpt4 book ai didi

c - 在某些情况下忽略 SIGCHLD 而不是其他情况

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

在我的程序中,我根据用户输入多次 fork()。

在某些情况下,我想处理 SIGCHLD 并说出类似“Process # Finished”的内容。但在其他情况下,我想忽略此信号。

我该怎么做?

最佳答案

信号处理是为进程全局设置的。如果你想在一些 child 终止而不是其他 child 终止时捕获像 SIGCHLD 这样的异步信号,你不能决定提前忽略它。

您每次都需要在父级中处理该信号,然后决定是否要在您的处理程序中忽略它。

至少,您的处理程序应该对 child (siginfo_t 结构中的 si_pid)执行 wait() 以获取其返回代码。那时您可以检查进程 ID 并决定还可以做什么。如果您不想,则不必打印任何内容。

关于c - 在某些情况下忽略 SIGCHLD 而不是其他情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/631641/

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