Je cherche depuis quelques jours maintenant comment savoir si un fichier est déjà en cour d'utilisation par un autre programme. J'ai lue la doc sur les fichiers en long et en large mais je n'ai rien trouvé.
merci de votre aide![]()
Je cherche depuis quelques jours maintenant comment savoir si un fichier est déjà en cour d'utilisation par un autre programme. J'ai lue la doc sur les fichiers en long et en large mais je n'ai rien trouvé.
merci de votre aide![]()
C'est une question très dépendante du système, donc c'est normal que tu n'ais rien trouvé sur la documentation de Perl. Le plus proche que tu puisses avoir, c'est la fonction flock(), mais ça implique une collaboration entre les différents programmes s'occupant du fichier : qu'un seul manque à ses obligations et c'est la catastrophe. Evidemment c'est innapplicable si tu n'as pas accès aux autres programmes susceptibles de toucher au fichier...
Après, tu as par exemple sous Unix des commandes comme 'fuser' dont tu peux parser la sortie (ou tu peux utiliser le module Linux::Fuser). Sous Windows... je sais pas.
--
Jedaï
Je suis sous windows, pour ce qui est de faire les programmes collaborer entre eux sa doit être possible car tout est en perl
Donc tu peux utiliser flock(), lit attentivement sa doc car il y a pas mal de pièges...
--
Jedaï
Partager