Da: Piviul <piviul@riminilug.it>
A: debian-italian@lists.debian.org
Inviato: Venerdì 5 Aprile 2013 16:25
Oggetto: 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
--
Per REVOCARE l'iscrizione alla lista, inviare un email a
debian-italian-REQUEST@lists.debian.org con oggetto "unsubscribe". Per
problemi inviare un email in INGLESE a
listmaster@lists.debian.orgTo UNSUBSCRIBE, email to
debian-italian-REQUEST@lists.debian.orgwith a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.orgArchive:
[🔎] 515EDEF3.8010600@riminilug.it" target="_blank">http://lists.debian.org/
[🔎] 515EDEF3.8010600@riminilug.it