Linux 文件层次结构 - 存储锁定文件的最佳位置是什么?

Linux 文件层次结构 - 存储锁定文件的最佳位置是什么?

我想基于锁定文件(/套接字文件)同步进程。这些文件只能由其创建者用户删除。

有很多选择:

/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/lock并将其 chmod 为 700,然后在其中创建锁定文件。

/var/lock/run/lockon Linux Mint 是(在 Ubuntu、Linux Mint 17 和 CentOS 7 上)的链接

/run/user/<UID>如果进程仅在您登录时运行,我只会将内容存储在下面。

相关内容