fork についてのメモ
10年ぶりですっかり忘れてるわけで。。。
http://www.stackasterisk.jp/tech/program/perl04_02.jsp
fireproject.jp - このウェブサイトは販売用です! - リソースおよび情報
fork の挙動を染み込ませるために、上記サイトのソースを自分でも実行させる。
すべての子プロセスが終わるまで待って親プロセスを終了。
$NUM_CHILDREN = 20; for (my $i = 0; $i < $NUM_CHILDREN; $i++) { if (my $pid = fork) { push @children, $pid; } else { sleep(5); print "child\n"; exit 0; } } for (my $i = 0; $i < $NUM_CHILDREN; $i++) { until (waitpid(-1, 0) > 0) { } } print "parent\n";
Perlのexec関数は、外部プログラムを
呼び出した後、呼び出し元の処理を実行しません。
exec関数で外部プログラムを実行したら、
Loading...
プログラム自体がexec関数で呼び出された
プログラムにごっそり入れ替わってしまいます。