J'ai besoin de regarder un dossier pour les fichiers - les fichiers seront placés dans des dossiers, et il faudra peut-être plusieurs secondes ou quelques minutes pour que la copie de fichiers soit terminée. J'ai lu plusieurs sujets sur SO (Checking File sizes for changes, Detect file in use by other process). Aucun d'entre eux ne donne une bonne réponse.Surveillance des changements de taille de fichier
L'interrogation est "mauvaise", mais comment puis-je savoir si un fichier cesse d'augmenter en taille? Plus précisément, y a-t-il une notification pour "taille de fichier est constante" ou "fichier est complet"? Le système d'exploitation peut-il notifier la non-activité (IOW, comment prouver un négatif?). Il me semble que logiquement, on DOIT interroger un fichier pour voir s'il ne change pas. J'ai également vérifié SCEvents et UKKQueue, mais encore une fois tous les deux notifier d'un changement. UKKQueue a une méthode "taille de fichier augmentée", mais aucune "taille de fichier n'a augmenté la méthode".
Est-il vraiment possible de détecter la fin de la copie de fichier sans interroger ou utiliser sleep()?
Oui, mon application surveille un dossier réseau et n'a aucun contrôle sur les fichiers qui vont apparaître. –