プロセスを分岐するfork関数を使用するとプロセスをふたつに分岐することができます。分岐したひとつのプロセスは親プロセス、もうひとつのプロセスは子プロセスになります。fork関数fork関数は引数をとりません。戻り値は分岐したプロセスが親プロセスの場合は、分岐した子プロセスのプロセスIDになります。子プロセスの場合は、0になります。forkが失敗した場合はundefが返ります。fork;forkの戻り値を考慮する親プロセスの場合、子プロセスの場合、forkが失敗した場合の3通りについて考える必要があります。0が代入されている}forkが行っていることforkが行うことは自分のプロセスのコピーです。自分自身のプロセスのコピーですから、それまでに使用していた変数は親プロセスでも子プロセスでも使用することができます。forkした後に変数に変更を加えた場合は、それぞれのプロセスだけで反映され、互いに影響を与えることはありません。プロセス間通信については「Perlで「プロセス間通信」を行う」をご覧ください。並列で処理を行うforkを行えば並列で処理を行うことができます。シングルタスクでは性能が満たせない場合に利用することがあります。役割を分担するある手の場面においてひとつのプロセスがすべてを担当するよりも、プロセスを分岐させてそれぞれのプロセスが専門に行ったほうが記述が簡潔になることがあります。複数のプロセスを管理するfork-execというテクニックを使用すると、分岐させた子プロセスをまったく異なるプロセスに置き換えることができます。CPUやメモリの使用状況をみるvmstatというプロセスに置き換えることができます。親プロセスは子プロセスのプロセスIDを知っているので、親プロセスを制御を通じて、子プロセスを制御することができます。分岐してそれぞれがprint文を実行していることがわかります。)子プロセスWindowsでの注意fork関数はWindowsでも実行することができますが、Windowsのfork関数はスレッドを使って擬似的に実現しているため本当のforkとは異なります。業務に役立つPerlログ解析など日本語を含むテキスト処理の実践!案内YouTubeでもっと簡単にプログラミングを学ぶならPerlゼミちゃんねるLinuxコマンドを学ぶならLinuxサーバー管理入門Webデザインを学ぶならWebデザイン入門Web開発を始めるななMojoliciousスタートアップブログを作るならGiblogプログラミングの勉強会ならPerl入学式お問合せはこちらPerlは、テキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。Linuxサーバー管理でのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意。Mojoliciousを使ったWebスタートアップも。Perlは、gitやopensslなどUnix/Linuxミドルウェアの支援ツールとして採用されています。このサイトはGiblogで製作されています。