筆が遅くてすいません・・・fork第2回です。 前回はforkで全く同じプロセスが2つ出来るよーという話をしました。 しかし前回のままでは子プロセス生成したらしっぱなしで、その状態やらをハンドリングすることは出来ません。 さらに子プロセスは終了してもそのままではプロセステーブルから削除されず、いわゆる「ゾンビプロセス」の状態になります。 そこで登場するのがwait関数です。 これはwaitシステムコールを行うもので、wait()で任意の子プロセスが終了するまで待ち、回収をします。(正確にはSIGCHLDシグナルが発生するまで待つ) 返り値はwait()が成功した場合は回収したプロセスのID、失敗した場合は-1となります。 これを使ってみます。 #!/usr/bin/env perl use strict; use warnings; my $pid = fork(); if ($pid)