パイプを介して2つのプロセス間で大量のデータを転送すると、Linuxによって/ tmpディレクトリに一時ファイルが作成されることがわかりました。パイプ操作が成功すると、対応する一時ファイルはOSによって自動的に削除されます。しかし操作が失敗した場合、tmpファイルはそこに残ります。
何らかの理由で、ユーザーにデータをパイプ経由で転送する機会を与えたくないので、プログラムがクラッシュしてもハードディスクに何も残らないようにします。これどうやってするの?
sender > filename
それから receiver < filename
。送信者または受信者のどちらかがそれを実行しているかどうかを確認するために、両方の操作中にtmpファイルをチェックします。
mkfifo
作成されたパイプはバッファリングをまったくせず(まったく!)、ファイルを作成しません。