これは不可能かもしれませんが、書き込みを行うためにファイルを開いて(名前を付けて)停止するように求められるまで、そのファイルにバイトをダンプするように指示することができるサードパーティ製のアプリケーション(好奇心がついた)があります。追加するためにファイルを開くことはありません。ファイルがすでに存在する場合は、名前を変更して再試行してください。すべてが素晴らしく、素晴らしく、標準的でした。数時間書き込むことができます(そして問題はディスクでいっぱいです)。
私はそれが書いているすべてを傍受し、別のプロセスで読みたいと思います。理想的にはディスクにまったく行かないでしょうが、そのような妥協のいくつかは受け入れられます。
確実な解決策は、ファイルの作成中に読み取ることです。 truncate()私が読んで再読んだ内容は、切り捨てられたときにファイルが小さくならないのでうまくいきませんでした。 mumbleが指定されていないので、そうなります。中断された部分から続行します。理想的には、それが一般的なファイルを作成して書いていると思うように欺く方法が必要ですが、実際にはすべてを私にパイプするだけです。私はこれを行うために自分のファイルシステムコードを書きたくありません(ビューよりはるかに簡単な場合は除く)。
最終的に私は録音されたサウンドを取得してハッシュし、/dev/randomに提供したいと思います。 mumble を /dev/random として指定するだけでは機能しません。これは/dev/randomが存在するため、これを使用しないためです。
賢いトリックはありますか?そうでなければ、ディレクトリのように見えるユーザーエリアコードを書く方法はありますか?他のすべての方法が失敗した場合は、必要な作業を実行するファイルシステムを作成するのは非常に簡単ですか?
答え1
あなたはそれを使用することができますLD_予圧Mumbleに他のすべてのライブラリの前に指定したライブラリをロードさせます。ファイル名に基づいて標準Cライブラリへの呼び出しを渡すことで、標準の動作を実装したり、mumbleをだましたりするための特別な操作を実行するカスタムopen()
/などを使用して小さなライブラリを作成できます。stat()