10

名前付きパイプを介して互いに通信するプロセスがいくつかあります。現在、すべてのパイプをローカルに作成し、アプリケーションを同じ作業ディレクトリに保持しています。ある時点で、これらのプログラムは異なるディレクトリから実行できる (実行される) と想定されます。私が使用しているこれらのパイプを既知の場所に作成する必要があるため、さまざまなアプリケーションのすべてが必要なパイプを見つけることができます。

私は Linux での作業が初めてで、ファイルシステムの構造に慣れていません。Windows では、これらのパイプを保持するために AppData フォルダーのようなものを使用します。Linux でこれに相当するものがあるかどうかはわかりません。

ディレクトリは/tmpおそらくうまく機能するように見えます。システムのシャットダウン時にクリアされることをいくつかの場所で読んだことがあります(それは問題ありません。バックアップを開始するときにパイプを再作成することはおそらくありません。)が、ファイルを失っていると言っている人を何人か見ました。システムが稼働している間、あたかも定期的にクリーンアップされているかのように、アプリケーションがそれらのパイプを使用している間は発生したくありません!

アプリケーション固有のストアに適した場所はありますか? それとも/tmp、これらを保持したい場所になりますか (結局のところ、それらは一時的なものなので)。

4

2 に答える 2

5

systemd を使用した新しい Linux ディストリビューション(存在しない場合は、ログイン時にpam_systemd/run/user/<userid>によって作成されます) を使用して、ルートのみがアクセスできる場所ではなく、ソケットを開き、そこに .pid ファイルを配置できます。また、シンボリックリンクであるため、使用することもできます。詳細については、このスレッドを確認してください。システムデーモンは、インストール中に適切な権限で作成されたディレクトリを持ち、ユーザーが実行するデーモン (pulseaudio など) が使用する必要がある間、そこにソケット/pid ファイルを配置する必要があります。別のオプションはとです。/var/run/var/run/run/var/run/user/<userid>/var/run/<daemon name>//run/user/<userid>//tmp/var/tmp

于 2015-12-21T09:13:06.910 に答える