-1
我启动的Perl forkmanager限制为4个进程,但启动更像8个进程。那么我怎样才能控制多少个进程开始? (我想前4完成,然后开始另外4个这样的):我的代码看起来像这样Perl叉管理器
opendir($par_dir,$parent);
while(my $sub_folders = readdir($par_dir)){
if ($sub_folders =~ /^..?$/){next;}
my $path = $parent. '/'.$sub_folders;
next unless (-d $path);
opendir ($sub_dir,$path);
while (my $file =readdir($sub_dir)){
next unless $file =~ /\.bai?$/i;
my $destdir = $outdir;
$pm-> start() and next;
$pm->set_max_procs(MAX_CHILDREN);
mkdir($destdir, 0777);
system("do something with the $file);
}
$pm ->finish();
closedir($sub_dir);
}
$pm->wait_all_children;