Re: [bash] PID file
Pol Hallen scrisse in data 05/04/2013 14:48:
> [...]
>
> ma il problema è: se mentre rsync è in esecuzione cade la rete (o
> altro), rsync si blocca e il PID file non viene rimosso, ergo rsync
> avviato da cron il giorno successivo non partirà più.
>
> Qualche idea?
>
Non ho ben capito cosa faccia rsync quando cade la rete... se si blocca
allora sei tu a killare il tuo processo è giusto?
Io comunque in queste situazione uso il comando trap; qualcosa come:
#!/bin/bash
[...]
# inizio fase critica
lock_path=/.../.../...
if [ -e $lock_path ]; then
$logger "E: another instance of $(basename $0 .sh) is running: exit
forced"
exit 1
fi
main_trap_exit="rm -f $lock_path"
trap "{ $main_trap_exit; exit 1 }" INT TERM EXIT
echo $$ > $lock_path
[inserisci qui il tuo codice critico]
eval $main_trap_exit
trap - INT TERM EXIT
Ciao
Piviul
Reply to: