uso de utilitários lockfile-progs [duplicado]

2

outra pergunta que é relacionado, mas na verdade é diferente, porque eu estou perguntando por que o comportamento do lockfile-create & O lockfile-touch é diferente do conteúdo atual da página de manual.

Eu tenho este script para aprender e entender os utilitários lockfile-progs. Eu testei e funciona bem. Mas, acho que as linhas relacionadas ao lockfile-touch são desnecessárias. Meu script precisa apenas iniciar uma instância do xterm em uma máquina por usuário. Eu farei a coisa certa removendo as linhas touch-lockfile? Alguém sabe se vou ter algum problema com o script modificado?

#!/bin/bash

function atexit {
    kill $LOCKFILE_TOUCH_PID
    lockfile-remove $DOTLOCK_FILENAME
    echo atexit!
    exit
}

DOTLOCK_FILENAME=/tmp/xterm-one-instance-$UID
lockfile-create --retry 0 --use-pid $DOTLOCK_FILENAME || exit

lockfile-touch $DOTLOCK_FILENAME & LOCKFILE_TOUCH_PID=$!
echo lockfile-touch running, PID=$LOCKFILE_TOUCH_PID

trap atexit EXIT HUP INT TERM
xterm

Meu script modificado:

#!/bin/bash

function atexit {
    lockfile-remove $DOTLOCK_FILENAME
    echo atexit!
    exit
}

DOTLOCK_FILENAME=/tmp/xterm-one-instance-$UID
lockfile-create --retry 0 --use-pid $DOTLOCK_FILENAME || exit

trap atexit EXIT HUP INT TERM
xterm

ainda impede outra instância do xterm após 5m 33s. Achei esse comportamento confuso depois de ler na página de manual que preciso tocar no arquivo de bloqueio a cada cinco minutos.

    
por 1e100 19.03.2014 / 05:05

1 resposta

3

A fonte diz:

 *  Without a pid in the lockfile, the lock
 *  is valid if it is newer than 5 mins.

Parece que você não precisa de lockfile-touch se estiver usando a opção --use-pid .

    
por 19.03.2014 / 17:23