加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – lockfile-create在bash脚本中不起作用

发布时间:2020-12-24 08:48:36 所属栏目:Linux 来源:网络整理
导读:这可能是一个非常简单的问题,但我不明白为什么它会这样.当我调用 lockfile-create --use-pid --retry 0 /tmp/my_lock_file 它返回0,下次运行时会返回一些其他代码(4),因为它已经创建了锁文件.但是当我将相同的代码包装在bash脚本文件中时,它总是返回0作为

这可能是一个非常简单的问题,但我不明白为什么它会这样.当我调用

lockfile-create --use-pid --retry 0 /tmp/my_lock_file

它返回0,下次运行时会返回一些其他代码(4),因为它已经创建了锁文件.但是当我将相同的代码包装在bash脚本文件中时,它总是返回0作为退出代码.有人知道为什么它不起作用?

更新:完成bash文件内容

#! /bin/bash

LOCK=alert

lockfile-create --use-pid --retry 0 $LOCK
LOCK_CREATED=$?
echo "Lock file creation status $LOCK_CREATED"

这就是我运行它的方式./alert.sh.

解决方法

But when I wrap that same code in a bash script file,it always
returns 0 as the exit code.

这是因为当您再次执行脚本时,执行脚本的进程的PID已更改.因此,– use-pid标志会导致lockfile-create认为需要覆盖锁定文件.

根据您的使用情况,您可能希望摆脱–user-pid标志.但是,在这种情况下,您需要确保自己清理锁定文件.

从man lockfile-create引用:

-p,--use-pid
       Write the parent process id (PPID) to the lockfile whenever a lock                        

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读