Lorsqu’un fichier ouvert en lecture ou écriture est supprimé, il est déréférencé du répertoire, mais il n’est pas réellement supprimé. Il est maintenu sur le système de fichiers (sa place n’est pas récupérée) jusqu’à ce qu’il soit fermé (ou à la limite que le programme qui le maintien ouvert se termine), et c’est à lui que continue d’accéder le programme qui l’a ouvert, quand bien même un nouveau fichier du même nom le remplacerait dans son répertoire.
Dans le cas d’une bibliothèque ou d’une ressource quelconque, c’est un comportement clairement souhaitable. Si on empêchait tout remplacement d’un fichier utilisé, ça rendrait les mises à jour difficiles. Si un fichier était changé par un autre pendant qu’il est utilisé, ça causerait des problèmes de stabilité.
Dans la plupart des cas, on n’a pas à se préoccuper de fonctionnement, mais c’est mieux quand même d’en être conscient pour certains cas particuliers.
Par exemple, si un log remplit la partition et qu’on se dit qu’on va le supprimer pour faire de la place, il continue d’exister tant qu’on a pas relancé le service qui écrit dedans.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
[^] # Suppression (ou remplacement) d’un fichier ouvert
Posté par Arthur Accroc . En réponse au message que ce passe t'il quand on fait des mises à jour sur un programme qui en cours d'exécution. Évalué à 4.
Lorsqu’un fichier ouvert en lecture ou écriture est supprimé, il est déréférencé du répertoire, mais il n’est pas réellement supprimé. Il est maintenu sur le système de fichiers (sa place n’est pas récupérée) jusqu’à ce qu’il soit fermé (ou à la limite que le programme qui le maintien ouvert se termine), et c’est à lui que continue d’accéder le programme qui l’a ouvert, quand bien même un nouveau fichier du même nom le remplacerait dans son répertoire.
Dans le cas d’une bibliothèque ou d’une ressource quelconque, c’est un comportement clairement souhaitable. Si on empêchait tout remplacement d’un fichier utilisé, ça rendrait les mises à jour difficiles. Si un fichier était changé par un autre pendant qu’il est utilisé, ça causerait des problèmes de stabilité.
Dans la plupart des cas, on n’a pas à se préoccuper de fonctionnement, mais c’est mieux quand même d’en être conscient pour certains cas particuliers.
Par exemple, si un log remplit la partition et qu’on se dit qu’on va le supprimer pour faire de la place, il continue d’exister tant qu’on a pas relancé le service qui écrit dedans.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone