まくまくPerlノート
fork で子プロセスを作成する
2008-04-14

fork 関数を呼び出すと、fork システムコールによって子プロセスを作成することができます。 fork は次のような値を返します。

  • 子プロセスID: 親プロセス(プロセスを作る方)から見たときの戻り値
  • 0: 子プロセス(作られた方)から見たときの戻り値
  • undef: fork に失敗したときの戻り値

fork によるプロセス生成の例

defined(my $pid = fork) or die "Cannot fork: $!";
unless ($pid) {
    # 子プロセスの処理
} else {
    # 親プロセスの処理
    waitpid($pid, 0);
}
2008-04-14