next up previous contents Next:  Verrouillage de fichiers ou Up: Verrouillage de fichiers. Previous:  Verrouiller un fichier de   Table des matières  

21.9.2  Verrouiller sur NFS.

Le script décrit dans la section qui précède ne fonctionnera pas si votre système de fichier est monté via NFS (network file system; voir le chapitre 29). Il y a deux raisons: (i) le script exploite le PID du processus, qui n'est pas accessible lors d'un partage NFS; (ii) la seconde raison -moins évidente- est que la fonction ln ne travaillera pas normalement via NFS. Il sera nécessaire d'utiliser la commande stat pour vérifier que le compteur de liens a augmenté d'une unité. [NdT: au paragraphe 21.7.10, nous avons vu comment extraire un champ en combinant dans un pipeline les commandes stat, grep et awk.]

Les commandes lockfile (du paquet procmail) et muttdot_lock (associée au client courriel mutt) effectue du verrouillage selon une méthode proche de celle discutée au paragraphe précédent. Cependant, elles ne tirent pas parti du PID. Donc, il ne leur est pas possible de détecter un stale lock file. Par exemple, pour effectuer une recherche dans votre boîte de courriel, vous pouvez exécuter:

lockfile /var/spool/mail/mary.lock 
grep freddy /var/spool/mail/mary 
rm -f /var/spool/mail/mary.lock 


Cette séquence vous assure de réaliser une recherche dans une boîte non-corrompue même si /var est impliqué dans un partage NFS.


next up previous contents Next:  Verrouillage de fichiers ou Up: Verrouillage de fichiers. Previous:  Verrouiller un fichier de   Table des matières  
1-01-2006