linux 使用 lockf命令防止脚本重复运行

之前服务器的脚本,迁移至一台新的机器上,运行脚本,提示报错信息:

-bash: /usr/bin/lockf: 没有那个文件或目录  或

-bash: /usr/bin/lockf:  no such file or directory

需要安装lockf

Lockf 安裝步骤

下载:
 wget http://stuffivelearned.org/lib/exe/fetch.php?media=programming:c:lockf_linux.tar.gz
 
 mv fetch.php?media=programming:c:lockf_linux.tar.gz  lockf_linux.tar.gz
 
   tar xvf lockf_linux.tar.gz

   cd lockf

   make && make install # 完成即可. (會安裝到 /usr/bin/lockf)

使用方法:

    lockf -s -t 0 /tmp/sleep.lock /usr/bin/php sleep.php

    lockf -s -t 0 /tmp/sleep.lock /usr/bin/php sleep.php # 这个程序不会在次执行.


lockf 参数:

  • -k: 一直等到程序结束才执行.
  • -s: silent, 不要发出任何信息, 即使拿不到 lock.
  • -t seconds: 要等多久 timeout, 如果 timout 程序不会执行.
原文地址:https://www.cnblogs.com/mingaixin/p/4741931.html