linux – lockfile-create在bash脚本中不起作用
发布时间:2020-11-18 04:42:48 所属栏目: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. 解决方法
这是因为当您再次执行脚本时,执行脚本的进程的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 |
相关内容
- linux – xorg.conf,xset和xinput set之间有什么区别?
- LINUX入门:crond脚本执行并发冲突问题
- linux – 通过Internet挂载文件系统
- linux – root用户如何为自己创建不可写的文件/目录?
- linux – 向进程组的所有成员发送信号的最佳方法是什么?
- 如何将Linux密钥从/ dev / input / event *转换为ASCII
- 使用gold vs ld链接器时使用的glibc/pthreads中的不同符号
- java-service-wrapper如何决定是使用32位还是64位VM?
- 使用OS X上的cgo到linux和windows进行1.5交叉编译
- linux – 如何解决SVN 1.6不支持的存储库间单文件外部问题?
