【Ruby3.x】File::mkfifo()メソッドの使い方
mkfifoメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
mkfifoメソッドは、UNIX系システムにおいて、名前付きパイプ(FIFOファイル)を作成するメソッドです。
名前付きパイプは、通常のファイルとは異なる特殊なファイルで、主に異なるプログラム(プロセス)間でデータを効率的にやり取りするために使われます。通常のファイルのようにディスクにデータを永続的に保存するのではなく、あるプロセスがこのファイルにデータを書き込むと、別のプロセスがそのデータを即座に読み取れるという、一時的なデータの通り道(パイプ)として機能します。ファイルシステム上にファイルとして存在するため、一般的なファイル操作(オープン、クローズ、読み書き)と同じ感覚で扱えますが、実態はメモリ上でデータを中継する仕組みです。
このメソッドは、引数として作成する名前付きパイプのパスを文字列で指定し、オプションでそのファイルのパーミッション(アクセス権)を数値で指定します。パーミッションは、UNIX環境のumask設定の影響を受けます。mkfifoメソッドは、指定されたパスに名前付きパイプを正常に作成できた場合、nilを返します。主に、Rubyプログラムが外部のプログラムやシェルスクリプトなどと連携し、一時的なデータのストリームを作成したい場合に利用されます。
構文(syntax)
1File.mkfifo("/tmp/ruby_fifo_example", 0644)
引数(parameters)
path, mode
- path: FIFO (First-In, First-Out) ファイルを作成するパスを指定する文字列
- mode: 作成されるFIFOファイルのパーミッションを指定する整数
戻り値(return)
Integer
指定されたファイルパスにFIFO(名前付きパイプ)を作成し、その成功または失敗を示す整数を返します。成功した場合は0、失敗した場合はerrnoの値が返されます。