我想基于锁文件(/ socket文件)同步进程.这些文件只能由其创建者用户删除.
有很多选择:
的/ dev / shm的
在/ var /锁
/运行/锁
/运行/用户/< UID>
/ tmp目录
为此目的,最佳位置是什么?上面的位置用于什么方式?
解决方法:
> / dev / shm:它只是传统共享内存概念的实现.它是在程序之间传递数据的有效方法.一个程序将创建一个内存部分,其他进程(如果允许)可以访问.这将导致加快速度.
> / run / lock(以前称为/ var / lock)contains lock files,即指示共享设备或其他系统资源正在使用并包含使用它的进程(PID)标识的文件;这允许其他进程正确协调对共享设备的访问.
> / tmp:是Filesystem Hierarchy Standard中定义的临时文件的位置,几乎所有的Unix和Linux发行版都跟随它.由于RAM明显快于磁盘存储,因此如果您的进程是I / O密集型并且广泛使用临时文件,则可以使用use /dev/shm
instead of /tmp
for the performance boost.
> / run / user / $uid:由pam_systemd
创建,用于存储该用户运行进程使用的文件.
回答你的问题,你绝对可以使用/ run / lock目录来存储你的锁文件.