Linux

Linux 文件層次結構 - 儲存鎖定文件的最佳位置是什麼?

  • April 25, 2016

我想根據鎖文件(/socket 文件)來同步程序。這些文件只能由其創建者使用者移除。

有很多選擇:

/dev/shm

/var/lock

/run/lock

/run/user/<UID>

/tmp

為此目的的最佳位置是什麼?以上位置的用途是什麼?

  1. /dev/shm: 只不過是傳統共享記憶體概念的實現而已。它是在程序之間傳遞數據的有效方法。一個程序將創建一個記憶體部分,其他程序(如果允許)可以訪問該記憶體部分。這將導致加快速度。
  2. /run/lock(以前/var/lock包含鎖定文件,即指示共享設備或其他系統資源正在使用中的文件,並包含使用它的程序 (PID) 的標識;這允許其他程序正確協調對共享設備的訪問。
  3. /tmp: 是Filesystem Hierarchy Standard中定義的臨時文件的位置,幾乎所有 Unix 和 Linux 發行版都遵循該位置。由於 RAM 比磁碟儲存快得多,因此如果您的程序是 I/O 密集型並且廣泛使用臨時文件,則可以使用它/dev/shm來代替/tmp性能提升。
  4. /run/user/$uid: 由pam_systemd該使用者創建並用於儲存執行程序所使用的文件。

談到您的問題,您絕對可以使用/run/lock目錄來儲存您的鎖定文件。

引用自:https://unix.stackexchange.com/questions/278904