名前付きパイプ

$ ll
prw-rw-r--. 1 toshi toshi 0 2010-01-21 20:24 pipe

行頭がpになっている。
これは「名前付きパイプ」というものらしい。
恥ずかしながら今日知った。
daemontoolsいじってて、ん?、なにこれ?って。


複数のプロセス間でデータをやりとりするとき、共有メモリ領域として使えます。

作り方は

$ mkfifo [名前]


たとえば
端末Aを起動し、

$ mkfifo pipe
$ cat pipe

とやって、pipeにデータが流し込まれるのを待ち受ける。


次に端末Bを起動し

$echo "Hello" > pipe

とやると、pipeを通してデータがAのcatに渡り、端末Aに"Hello"という文字列が表示されます。