Bonjour,
Je cherche à développer un outil qui permet de lire un fichier qui est en cours d'écriture par un autre process, sous Windows XP. Je me souviens de mes cours d'OS où on nous expliquait que Windows n'est pas super flexible en terme d'accès multiples aux fichiers disques, contrairement aux OS Unix.
Je n'ai malheureusement pas la possibilité de modifier le programme d'écriture.
Pour résumer, un prog 1.exe écrit continuellement des données toutes les secondes dans un fichier log.txt. Je cherche à écrire un programme 2.exe capable de lire ce fichier log.txt toutes les 5 secondes et faire une traitement spécifique lorsqu'une condition spécifique est rencontrée dans les données de log.txt.
L'OS ne permet pas l'accès au fichier log.txt tant que 1.exe tourne.
La seule solution qu'on m'a soufflé est d'utiliser le Windows Volume Shadow Service pour être capable de copier log.txt et de lire la copie avec 2.exe, ce qui ne me satisfait pas car l'étape de copie prend de plus en plus de temps au fur et à mesure que le fichier log.txt grossi.
Je pensais à utiliser une architecture réseau pour permettre la lecture et l'écriture du fichier par un système unix. Est-ce possible faire ce type d'architecture sur un portable sans connexion réseau physique ?
Une autre idée est de rediriger le fichier vers une entrée d'un autre process, capable de dupliquer les données entre un enregistrement et une routine de traitement. Existe-il un soft ou connaissez vous un exemple de source qui permet de le faire ?
Merci pour votre aide.
Partager