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

【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の値が返されます。

関連コンテンツ

関連プログラミング言語