11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

lockfile<br />

Capitolo 13. Coman<strong>di</strong> <strong>di</strong> sistema e d’amministrazione<br />

Il comando chroot è anche utile durante l’esecuzione da un <strong>di</strong>schetto <strong>di</strong> boot d’emergenza (chroot a<br />

/dev/fd0), o come opzione <strong>di</strong> lilo in caso <strong>di</strong> ripristino dopo un crash del sistema. Altri usi<br />

comprendono l’installazione da un filesystem <strong>di</strong>verso (un’opzione rpm) o l’esecuzione <strong>di</strong> un<br />

filesystem in sola lettura da CDROM. Va invocato solo da root ed usato con attenzione.<br />

Cautela<br />

Potrebbe rendersi necessario copiare alcuni file <strong>di</strong> sistema nella<br />

<strong>di</strong>rectory in<strong>di</strong>cata a chroot perché, dopo, non ci si potrà più basare<br />

sull’usuale variabile $PATH.<br />

Questa utility fa parte del pacchetto procmail (www.procmail.org (http://www.procmail.org)).<br />

Serve a creare un file lock, un semaforo che controlla l’accesso ad un file, ad un <strong>di</strong>spositivo o ad una<br />

risorsa. Il file lock sta ad in<strong>di</strong>care che quel particolare file, <strong>di</strong>spositivo o risorsa è utilizzato da un<br />

determinato processo (“busy”) e questo consente un accesso limitato (o nessun accesso) ad altri<br />

processi.<br />

lockfile /home/bozo/lockfiles/$0.lock<br />

# Crea un file lock, protetto in scrittura, con lo stesso nome dello script.<br />

I file lock vengono utilizzati, ad esempio, per proteggere le cartelle <strong>di</strong> posta <strong>di</strong> sistema da mo<strong>di</strong>fiche<br />

fatte simultaneamente da più utenti, per in<strong>di</strong>care che si è avuto accesso ad una porta modem o per<br />

mostrare che un’istanza <strong>di</strong> Netscape sta usando la sua cache. È possibile, per mezzo <strong>di</strong> script,<br />

accertarsi dell’esistenza <strong>di</strong> un file lock creato da un certo processo, per verificare se quel processo è<br />

ancora in esecuzione. Si noti che se uno script cerca <strong>di</strong> creare un file lock già esistente, lo script,<br />

probabilmente, si bloccherà.<br />

Normalmente, le applicazioni creano e verificano i file lock nella <strong>di</strong>rectory /var/lock. 5 Uno script<br />

può accertarsi della presenza <strong>di</strong> un file lock con qualcosa <strong>di</strong> simile a quello che segue.<br />

nomeapplicazione=xyzip<br />

# L’applicazione "xyzip" ha creato il file lock "/var/lock/xyzip.lock".<br />

if [ -e "/var/lock/$nomeapplicazione.lock" ]<br />

then<br />

...<br />

375

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!