У меня проблема с Fork в Perl. Я хочу выполнить 10 процессов Fork за один переход от одного скрипта, и все 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 дочерних процессов.
Может кто-нибудь сказать мне, что я здесь не так делаю.