ロックファイル(/ socketファイル)に基づいてプロセスを同期したいと思います。これらのファイルは作成者ユーザーのみ削除できます。
さまざまなオプションがあります。
/dev/shm
/var/lock
/run/lock
/run/user/<UID>
/tmp
この目的に最適な場所はどこですか?上記の場所の目的は何ですか?
答え1
/dev/shm
:これは伝統的な実装です。共有メモリコンセプト。これはプログラム間でデータを転送する効率的な方法です。プログラムは、他のプロセスがアクセスできる(許可されている場合)メモリの一部を生成します。これにより速度が向上します。/run/lock
(前/var/lock
)ロックファイルが含まれています。つまり、共有デバイスまたは他のシステムリソースが使用中であることを示し、それを使用するプロセスの識別(PID)を含むファイルです。これにより、他のプロセスが共有デバイスへのアクセスを適切に調整できます。/tmp
:定義された一時ファイルの場所。ファイルシステム階層標準、ほとんどすべてのUnixとLinuxディストリビューションに従います。 RAMはディスクストレージよりはるかに高速なので、次のことができます。パフォーマンスを向上させるために/dev/shm
代わりに使用/tmp
、プロセスがI / Oバインドされていて一時ファイルが多い場合。/run/user/$uid
:創作者pam_systemd
そして、ユーザーがプロセスを実行するために使用するファイルを保存するために使用されます。
あなたの質問については、/run/lock
ディレクトリを使用してロックファイルを保存できます。
答え2
下にディレクトリを作成し、/run/lock
chmodを700に変更してから、その中にロックファイルを作成します。
/var/lock
/run/lock
Linux Mintの場合はリンクです(Ubuntu、Linux Mint 17、およびCentOS 7の場合)。
/run/user/<UID>
ログインしたときにのみプロセスが実行される場合は、以下のコンテンツのみを保存します。