lockfile-touch termina intermitentemente

1

Estou tendo alguns problemas com um script que estou usando para garantir que um script não seja executado duas vezes.

Eu tenho usado isso há algum tempo sem muitos problemas, mas está me causando problemas em um servidor que acabei de atualizar do Ubuntu 15.04 para o Ubuntu 15.10, então acho que pode haver algo lá.

O código que estou usando é assim:

# 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

No entanto, isso agora resulta às vezes no seguinte erro:

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

Acontece menos de 1% das vezes que o script é executado, mas é executado com bastante frequência.

Alguém pode me dar alguma pista sobre o que pode estar causando isso e como posso evitar esse erro?

    
por DoppyNL 24.10.2015 / 11:56

1 resposta

0

De acordo com isso, o erro é apenas o bloqueio de arquivos mortos pelo seu script.

# bash -x  lock.sh
+ lockfile-create /var/lock/mylockfile --retry 3 --quiet
+ result=0
+ '[' 0 -gt 0 ']'
+ lockfiletouch=3902
+ trap '{ kill 3902; lockfile-remove /var/lock/mylockfile; }' EXIT
+ kill 3902
+ lockfile-remove /var/lock/mylockfile
lock.sh: line 1:  3902 Terminated              lockfile-touch /var/lock/mylockfile
    
por 24.10.2015 / 12:03