HowtoForgeに3月23日(米国時間)に掲載された記事「Linux mkfifo Command Tutorial for Beginners (with Examples)」が、名前付きパイプを作成するmkfifoコマンドおよび名前付きパイプの使い方を伝えた。mkfifoコマンドはmacOSやLinuxに限らず多くのUNIX系オペレーティングシステムで利用できる。名前付きパイプはパイプの機能をファイルシステム上に実装したような機能で、ファイルシステムの名前空間を利用しているため「名前付きパイプ」といった呼ばれ方をしている。

名前付きパイプはファイルシステム上に作成されるため、通常のパイプと異なりコマンドの実行が終了しても存在し続ける。異なるプロセス間でデータを通信するための機能として利用できる。

  • mkfifoコマンドで名前付きパイプを作成し、データを流し込む

    1. mkfifoコマンドで名前付きパイプを作成し、データを流し込む

  • 別のターミナルから名前付きパイプを確認

    2. 別のターミナルから名前付きパイプを確認

  • 別のターミナルから名前付きパイプの中身を取り出す

    3. 別のターミナルから名前付きパイプの中身を取り出す

  • 元のターミナルで実行した書き込みが終了することを確認

    4. 元のターミナルで実行した書き込みが終了することを確認

通常のLinuxサーバ運用においては、名前付きパイプを利用する機会は少ないかもしれないが、スクリプトを組んで作業を行う場合に必要となることがある。いったんファイルにデータを書き出す場合と比べて消費するストレージが小さくて済むなどの特徴があり、利用するケースによっては便利な仕組みとなる。また、あらかじめファイルとして作成しておけることから、任意のプロセス間で通信を実施する場合などでも利用できる。