Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】fork()関数の使い方

fork関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

fork関数は、現在のRubyプロセスを複製し、新しいRubyプロセスを生成する関数です。この関数が呼び出されると、元のプロセスは「親プロセス」として、新しく生成されたプロセスは「子プロセス」としてそれぞれ独立して実行を継続します。fork関数の戻り値は、親プロセスと子プロセスで異なります。親プロセスには、新しく生成された子プロセスのプロセスID(PID)が返されます。一方、子プロセスには、戻り値としてnilが返されます。この戻り値の違いを利用することで、両方のプロセスでそれぞれ異なる処理を実行させることが可能になります。

主に、時間のかかる処理をバックグラウンドで実行させたり、複数のタスクを並行して処理したりする場合に利用されます。これにより、アプリケーション全体の応答性を保ちつつ、複数の作業を効率的に進めることができます。しかし、プロセスを複製するため、メモリなどのシステムリソースを消費します。また、親プロセスと子プロセスは基本的に独立した存在であるため、両者の間でデータ交換や処理の同期が必要な場合には、パイプやソケットといったプロセス間通信の仕組みを別途導入する必要があります。システムエンジニアにとって、並行処理を実現する基本的な手法の一つとして、その概念と使い方を理解しておくことは非常に重要です。

構文(syntax)

1pid = fork

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integerまたはnil

forkメソッドは、現在のプロセスを複製して新しい子プロセスを作成します。成功した場合、親プロセスには子プロセスのプロセスID(Integer)を返し、子プロセスには0を返します。子プロセスの生成に失敗した場合はnilを返します。

関連コンテンツ

関連プログラミング言語