MCH*_*MCH 8 linux fhs directory-structure lock synchronization
我想根据锁定文件(/套接字文件)同步进程。这些文件只能由其创建者用户删除。
有很多选择:
/dev/shm
/var/lock
/run/lock
/run/user/<UID>
/tmp
为此目的的最佳位置是什么?上面位置的用途是什么?
/dev/shm: 这不过是传统共享内存概念的实现。它是在程序之间传递数据的有效手段。一个程序将创建一个内存部分,其他进程(如果允许)可以访问该部分。这将导致事情加速。
/run/lock(以前/var/lock)包含锁定文件,即表示共享设备或其他系统资源正在使用并包含使用它的进程(PID)的身份的文件;这允许其他进程正确协调对共享设备的访问。
/tmp: 是Filesystem Hierarchy Standard 中定义的临时文件的位置,几乎所有 Unix 和 Linux 发行版都遵循该标准。由于 RAM 比磁盘存储快得多,如果您的进程是 I/O 密集型并广泛使用临时文件,则可以使用/dev/shm代替 来/tmp提高性能。
/run/user/$uid: 由pam_systemd该用户的运行进程创建并用于存储文件。
谈到您的问题,您绝对可以使用/run/lock目录来存储您的锁定文件。