Linux中借助lockf简单实现和应用文件锁机制
文件锁机制的作用:防止多个程序同时对一个不允许同时操作的工作做操作。
实现(lockf)
在Linux中我们可以借助lockf命令来实现文件锁机制
安装
tar -xzf lockf_linux.tar.gz
cd lockf_linux
make && make install
使用
lockf --help
-k 锁定文件,如果当前文件被锁,则输出 lockf:/tmp/create/lock :already locked
-s 锁定文件,不输出任何信息 silent
-t second :超时时间,超时就退出
应用示例:
lockf -s -t 0 /tmp/create.lock /usr/local/bin/php -f xxx.php
先判断/tmp/create.lock 文件是否被锁,被锁则立即退出,否则将会执行后面的脚本。
第一次运行会给/tmp/create.lock
文件上锁,并执行后面的命令,
当第二次运行该命令时,/tmp/create.lock
文件已经被锁,命令将会直接退出,而不会去执行后面的/usr/local/bin/php -f xxx.php
的脚本。