我在fork的父分支中有以下代码。也就是说,在$ pid = fork的分支一侧有一个非零的$ pid。我的问题是两个print语句为$ num_run提供相同的值,即零。两个打印都被执行,因此达到了if子句的内部。为什么$ num_run没有递增?我确实意识到这似乎不可能。任何帮助将非常感激。感谢。
print BATCHLOG "$$: 1 parent num_run is $num_run\n";
if ($active_runs < $CORES) {
push @active_pids, $pid;
$num_rum = $num_run + 1;
print BATCHLOG "$$: 2 parent num_run is $num_run\n";
next;
}
答案 0 :(得分:3)
始终use strict
和use warnings
。
$num_rum
不是$num_run