next up previous contents Next:  Verrouiller un fichier de Up: Scripts de shell avancés. Previous:  Personnalisation de PATH et   Table des matières  

21.9 Verrouillage de fichiers.

Régulièrement, il s'avère utile qu'un processus ait un accès exclusif à un fichier; c'est-à-dire qu'un seul processus ne puisse accéder à ce fichier. Considérons un répertoire [NdT: le texte en anglais utilise le terme folder. Comme cela est indiqué au paragraphe 21.9.3, Paul Sheer fait la nuance entre folder et directory.] contenant des courriels: si deux processus étaient capables d'y écrire simultanément, ce répertoire deviendrait corrompu. Par ailleurs, il arrive que nous voulions nous assurer qu'un programme ne puisse être exécuté à deux reprises en même temps. Pour cela, on pratique le ``verrouillage'' (ou locking) de fichiers.

Dans le cas d'un répertoire de courriels, si un fichier est en cours d'écriture, il ne faut pas qu'un autre processus puisse lire ce fichier ou y écrire: il est donc nécessaire de mettre en place un verrouillage en écriture sur ce fichier. Cependant, si ce dernier est en cours de lecture, aucun autre processus ne devrait tenter de le lire: il est asticieux de ne mettre en place qu'un verrouillage en lecture. Les verrouillages en écriture sont appelés verrouillages exclusifs; ceux en lecture verrouillages partagés. Pour des raisons de simplicité, le verrouillage exclusif est souvent préféré.

La mise en place d'un verrouillage consiste simplement à créer un fichier temporaire pour indiquer aux autres processus d'attendre avant de tenter un accès. UNIX présente également des fonctions internes plus sophistiquées.



Sous-sections
next up previous contents Next:  Verrouiller un fichier de Up: Scripts de shell avancés. Previous:  Personnalisation de PATH et   Table des matières  
1-01-2006