У меня проблема с вилкой в Perl. Я хочу выполнить 10 процессов разветвления за один раз из одного скрипта, все 10 дочерних (разветвленных) процессов будут делать одно и то же (копировать файлы из одного места в другое).
Когда я выполняю этот код, моя ОС зависает, а когда я на самом деле проверяю, существует чертовски много процессов, которые разветвляются за раз.
Вот мой код:
while ($callCount <= $totalCalls) {
for (1..$TotalProcessToFork) {
print "Call -> $callCount";
if($pid = fork) {
#in Parent Process
print " :: PID -> $pid\n";
push(@list_of_pid, $pid);
} else {
#in Child Process
`touch $callCount`;
}
$callCount++;
}
}
Теперь, когда я выполняю этот код, выполняется около 1000 дочерних элементов.
Кто-нибудь может сказать мне, что я делаю здесь не так?