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 的脚本。