gpt4 book ai didi

c++ - c++中运行的子进程数

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:04 24 4
gpt4 key购买 nike

我正在尝试使用以下代码创建大量子进程,比如 200 个。在转移到下一个 child 之前,我想打印出有多少 child 仍在运行(在已经创建的 child 中)以及还有多少 child 。似乎无法计算事件的正在运行的子进程。任何帮助/提示?

int main ()
{
pid_t pid;
global_process_count = 0, max_process_count = 200;

while (global_process_count < max_process_count)
{
if ((pid = fork()) < 0)
{
perror("fork");
exit(EXIT_FAILURE);
}
else if (pid == 0)
{
// Child process
exit(EXIT_SUCESS);
}
++global_process_count;
}
}

最佳答案

好吧,您还应该计算子导出。每次子进程终止(成功与否)时,父进程都会收到一个信号 (SIGCHLD)。您应该设置一个信号处理程序,并在收到信号后通过调用 wait() 获取 child 的退出代码。参见“示例 3”here

关于c++ - c++中运行的子进程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23186223/

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