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

-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 程序不会执行.

linux 使用 lockf命令防止脚本重复运行的更多相关文章

  1. linux网络相关命令之脚本和centos启动流程

    nice 功用:设置优先权,可以改变程序执行的优先权等级.等级的范围从-19(最高优先级)到20(最低优先级).优先级为操作系统决定cpu分配的参数,优先级越高,所可能获得的 cpu时间越长. 语法: ...

  2. Linux 使用 top 命令查看系统的运行情况

    top命令显示界面 top命令默认在一个特定间隔(3秒)后刷新显示.要手动刷新,用户可以输入回车或者空格. top - 18:32:45 up 230 days, 2:01, 1 user, load ...

  3. 由于Windows和Linux行尾标识引起脚本无法运行的解决

    在所有的操作系统中,文本文件的结束或者换行都是有行尾符来标识的,C语言中经常使用\n作为换行,\r作为跳格TAB:实际上在计算机还没有真正出现之前,有种电传打字机的设备,每秒钟可以打印10个字符,但是 ...

  4. Centos flock 防止脚本重复运行

    如果crontab设定任务每分钟执行一次,但执行的任务需要花费5分钟,这时系统会再执行导致两个相同的任务在执行.发生这种情况下可能会出现一些并发问题,严重时会导致出现脏数据性能瓶颈等恶性循环.为了防止 ...

  5. Linux、UNIX设置开机自动运行命令、脚本配置

    一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...

  6. root.sh脚本支持checkpoints文件实现重复运行

    安装集群GRID/GI一般包括三个过程:首先,运行OUI/RunInstaller输入集群配置信息,其次,拷贝/编译集群文件,最后,以root用户运行root.sh脚本配置集群/启动集群,其中运行ro ...

  7. Linux的watch命令 — 实时监测命令的运行结果

    Linux的watch命令 — 实时监测命令的运行结果 watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得 ...

  8. Linux下的Source命令及脚本的执行方式解析

    Linux Source命令及脚本的执行方式解析 http://blog.csdn.net/wangyangkobe/article/details/6595143 当我修改了/etc/profile ...

  9. Linux服务器Jboss运行环境搭建步骤和开机自动启动脚本编写运行

    Jboss运行环境:Linux+Jdk+Jboss+jsp系统 Jboss软件说明:类似于Tomcat,就是一个跑Jsp系统的环境,他的站点路径跟Tomcat类似,Tomcat存放站点文件到webap ...

随机推荐

  1. .NET Core 2.0 Cookie中间件 权限验证

    :在ConfigureServices添加Cookie中间件,使用自定义Scheme services.AddAuthentication(options=> { options.Default ...

  2. Linux VFS数据结构

    先说明一下,linux内核中各种数据结构也不停的在变,所以不同版本的内核各个数据结构的定义可能会差别很大,这一组关于linux 文件系统的文章中的代码都摘自linux-2.6.34.1. VFS依赖于 ...

  3. MFC动态按钮的创建及其消息响应 和 自定义消息

    原文链接: http://www.cnblogs.com/gaohongchen01/p/4046525.html 动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC ...

  4. 移动硬盘做pe启动盘

  5. 题目要求:将a,b两个数的值进行交换,并且不使用任何的中间变量。

    a = a+b; b = a-b; a = a-b;

  6. 关于Android NDK中调用第三方的动态库

    因为最近在整合Android 上RTSP播放器的网络库,因需要调用自己编译的网络库,调用一直出现问题,开始时是直接在Android.mk 中加入LOCAL_SHARED_LIBRARIES := li ...

  7. Java Date and Calendar examples

    Java Date and Calendar examples This tutorial shows you how to work with java.util.Date and java.uti ...

  8. [CTCI] 最长合成字符串

    最长合成字符串 题目描述 有一组单词,请编写一个程序,在数组中找出由数组中字符串组成的最长的串A,即A是由其它单词组成的(可重复)最长的单词. 给定一个string数组str,同时给定数组的大小n.请 ...

  9. 第一个UG练习

  10. 用sendcloud来发邮件

    平时发验证码邮件都是用免费域名邮箱,但是有时一频繁发多了就发不了了,听说用sendcloud可以避免,还能避免阿里云邮件发QQ邮箱进垃圾箱中,去注册了下,免费账户号每个月才50封,自己玩玩可以吧.. ...