gpt4 book ai didi

c - 非阻塞等待子进程退出

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:20 25 4
gpt4 key购买 nike

我有一个 C 语言程序,它使用 fork() 启动 100 个子进程,然后使用循环等待等待它们完成。我想等待最长时间让它们全部完成,这样父进程就不会在其中一个完成时保持阻塞状态,如果时间结束,则杀死未完成的进程。

哪种方法最好?

最佳答案

设置所需时间的闹钟。如果警报响起,杀死您原来的 child 列表中尚未死亡的任何一个,并向他们发送适当的“离开”信号。

我建议先发送 SIGTERM 或 SIGHUP;然后收集尸体。如果在另一次短暂的延迟后还有剩余,则发送 SIGKILL 信号。如果你太过戏剧化 (SIGKILL) 太快,程序就没有机会清理它们造成的任何困惑。

关于c - 非阻塞等待子进程退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22721934/

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