lockfile-touch间歇性终止

我正在用一些脚本来确保脚本没有运行两次。

我已经使用了很长一段时间没有太多问题,但它给了我从Ubuntu 15.04升级到Ubuntu 15.10的服务器的麻烦,所以我觉得可能有些东西。

我正在使用的代码如下所示:

# locking; make sure we are alone lockfile-create /var/lock/mylockfile --retry 3 --quiet result=$? if [ ${result} -gt 0 ] then # allready running; bye! exit 2 fi lockfile-touch /var/lock/mylockfile & lockfiletouch="$!" trap "{ kill ${lockfiletouch}; lockfile-remove /var/lock/mylockfile; }" EXIT 

但是,现在有时会出现以下错误:

 /usr/local/scripts/myscript.sh: line 1: 8173 Terminated lockfile-touch /var/lock/mylockfile 

它发生的时间less于脚本运行时间的1%,但运行频率很高。

任何人都可以给我任何线索,可能是什么原因造成这种情况,我怎么能防止这个错误?

据此,错误只是由你的脚本杀死lockfile-touch。

 #bash -x lock.sh
 + lockfile-create / var / lock / mylockfile --retry 3 --quiet
 +结果= 0
 +'['0 -gt 0']'
 + lockfiletouch = 3902
 +陷阱“{杀死3902;  lockfile-remove / var / lock / mylockfile;  }' 出口
杀了3902
 + lockfile-remove / var / lock / mylockfile
 lock.sh:第1行:3902终止的lockfile-touch / var / lock / mylock文件