Linuxファイル階層 - ロックされたファイルを保存するのに最適な場所はどこですか?

Linuxファイル階層 - ロックされたファイルを保存するのに最適な場所はどこですか?

ロックファイル(/ socketファイル)に基づいてプロセスを同期したいと思います。これらのファイルは作成者ユーザーのみ削除できます。

さまざまなオプションがあります。

/dev/shm

/var/lock

/run/lock

/run/user/<UID>

/tmp

この目的に最適な場所はどこですか?上記の場所の目的は何ですか?

答え1

  1. /dev/shm:これは伝統的な実装です。共有メモリコンセプト。これはプログラム間でデータを転送する効率的な方法です。プログラムは、他のプロセスがアクセスできる(許可されている場合)メモリの一部を生成します。これにより速度が向上します。

  2. /run/lock(前/var/lockロックファイルが含まれています。つまり、共有デバイスまたは他のシステムリソースが使用中であることを示し、それを使用するプロセスの識別(PID)を含むファイルです。これにより、他のプロセスが共有デバイスへのアクセスを適切に調整できます。

  3. /tmp:定義された一時ファイルの場所。ファイルシステム階層標準、ほとんどすべてのUnixとLinuxディストリビューションに従います。 RAMはディスクストレージよりはるかに高速なので、次のことができます。パフォーマンスを向上させるために/dev/shm代わりに使用/tmp、プロセスがI / Oバインドされていて一時ファイルが多い場合。

  4. /run/user/$uid:創作者pam_systemdそして、ユーザーがプロセスを実行するために使用するファイルを保存するために使用されます。

あなたの質問については、/run/lockディレクトリを使用してロックファイルを保存できます。

答え2

下にディレクトリを作成し、/run/lockchmodを700に変更してから、その中にロックファイルを作成します。

/var/lock/run/lockLinux Mintの場合はリンクです(Ubuntu、Linux Mint 17、およびCentOS 7の場合)。

/run/user/<UID>ログインしたときにのみプロセスが実行される場合は、以下のコンテンツのみを保存します。

関連情報