システムを再起動しても名前付きパイプが削除されないのはなぜですか?

システムを再起動しても名前付きパイプが削除されないのはなぜですか?

私が理解したところ、名前付きパイプはディスクに書き込まれるのではなく、メモリに保存されます。これが名前付きパイプを作成する方法です。

$ mkfifo pipe21
$ grep "simple" SimpleDoc.txt > pipe21 &
[1] 2775
$ cat pipe21
Very simple doc that contains plaintext. 
[1]+  Done                    grep --color=auto "simple" SimpleDoc.txt > pipe21

その後、システムを再起動しました。ただし、再起動後も現在のディレクトリにパイプライン21が表示されます。なぜそんなことですか?

ベストアンサー1

名前付きパイプはファイルシステムの一部です。ファイル名を持つすべてのエントリはファイルシステムの一部です。これが永続ストレージ(ディスクなど)のファイルシステムの場合は、システムの再起動後も維持されます。

名前付きパイプのファイルシステムエントリには、名前、一般的なメタデータ(時間、権限など)、および「これは名前付きパイプです」というフラグのみがあります。パイプを通過するデータはファイルシステムに入力されません。ただし、名前付きパイプ自体はファイルシステムにあります。

おすすめ記事