gpt4 book ai didi

c++ - 能不能动态创建一个进程,维护一个进程池呢?

转载 作者:行者123 更新时间:2023-11-28 07:33:43 30 4
gpt4 key购买 nike

我的一台用 C 语言编写的服务器使用 fork() 创建了“N”个子进程,并委托(delegate)其运行报告的任务。它没有能力监视它的子进程是活的还是死的。到目前为止的要求是,只要事件进程的数量小于 N,就生成一个新进程。(例如,如果在五个子进程中,有两个死了。)我应该生成另外两个进程。我正在使用 socketpair() 在父进程和子进程之间进行通信。

我通读了各种帖子,但似乎他们在谈论“预 fork ”机制。本质上,我对使用 fork() 动态创建子进程很感兴趣。是否可以?如果是的话,你能给我一些指示吗?

最佳答案

如果您需要监视子进程并在它们停止运行时生成它们,那么这种方法可能会有所帮助。

在循环中使用 waitpid 让父进程等待子进程的变化。在父级维护一个计数器以跟踪事件的进程数。根据您的要求,您可以使用 fork 调用创建一个或多个新的子进程并更新计数器。

fork is here .

跟踪 death of child is here 的类似问题.

关于c++ - 能不能动态创建一个进程,维护一个进程池呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17147980/

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