对不起我的英语不好...
好的,问题。我正在使用 Parallel::ForkManager 来限制我的 PERL 脚本中的分叉进程。
例子:
$pm = Parallel::ForkManager->new(3);
[...]
while ($new_client = $httpdaemon->accept())
{
$pm->start and next;
# do smth with request in here
$pm->finish;
}
我看到孩子们分叉好,他们结束好 - 但在这种情况下,我不能处理比 MAX - 3 更多的请求。
在第 4 次请求(在前 3 次之后),脚本不想产生新的孩子(它挂起)
? Parallel::ForkManager->new(3) - 这意味着 - MAX 3 同时,对吧?
你知道 - 我想同时处理 3 个远程客户端,并且在它们完成后 - 对其他 3 个执行相同的操作。
如果我没有找到任何解决方案,我将使用 Proc::Queue 代替....