function runChildProcesses(Config $config, OutputInterface $output, array $toProcess)
 {
     $error = false;
     $files = [];
     $groupSize = intval(count($toProcess) / $config->getProcessCount());
     for ($i = 0; $i < $config->getProcessCount(); ++$i) {
         $group = $i == $config->getProcessCount() - 1 ? array_slice($toProcess, $groupSize * $i) : array_slice($toProcess, $groupSize * $i, $groupSize);
         file_put_contents("scan.tmp.{$i}", implode("\n", $group));
         $cmd = escapeshellarg($GLOBALS['argv'][0]);
         $cmdLine = "php -d memory_limit=1G {$cmd} -a -s ";
         if ($config->getOutputFile()) {
             $outputFileName = $this->getMultipartFileName($config, $i);
             $cmdLine .= " -o " . escapeshellarg($outputFileName) . " ";
         }
         if ($config->getOutputLevel() == 1) {
             $cmdLine .= " -v ";
         }
         if ($config->getOutputLevel() == 2) {
             $cmdLine .= " -v -v ";
         }
         $cmdLine .= escapeshellarg($config->getConfigFileName()) . " " . escapeshellarg("scan.tmp.{$i}");
         $output->outputExtraVerbose($cmdLine . "\n");
         $file = popen($cmdLine, "r");
         $files[] = $file;
     }
     while (count($files) > 0) {
         $readFile = $files;
         $empty1 = $empty2 = null;
         $count = stream_select($readFile, $empty1, $empty2, 5);
         if ($count > 0) {
             foreach ($readFile as $index => $file) {
                 echo fread($file, 1000);
                 if (feof($file)) {
                     unset($files[array_search($file, $files)]);
                     if (!$error) {
                         $error = pclose($file) == 0;
                     }
                     $output->outputExtraVerbose("Child process completed\n");
                 }
             }
         } else {
             $output->output("T", "Timed out waiting for next file to scan");
         }
     }
     for ($i = 0; $i < $config->getProcessCount(); ++$i) {
         unlink("scan.tmp.{$i}");
     }
     return $error ? 1 : 0;
 }