Question

Je suis en cours d'exécution d'un processus, ce qui crée un fichier et en utilisant ce fichier. Après la fin de ce processus, je supprime ce fichier.

Si une exception survient entre alors comment savoir que le fichier est libéré par le processus ou non et comment le supprimer si elle est verrouillée par le processus.

Merci pour toute aide:)

Était-ce utile?

La solution

Sous Windows, lorsque la fin du processus, le système d'exploitation retourne toutes les ressources appartenant à ce processus automatiquement. Fin de l'histoire.

Par exemple, supposons que vous avez « CreateFileMapping () » sur chacun des deux processus pour partager un segment de mémoire. Lorsque les premières sorties de processus, Windows décrémente le compteur d'utilisation, et que le processus survivant peut encore utiliser l'objet. Lorsque le deuxième processus effectue une « CloseHandle () » (ou elle-même sort), le compteur est décrémenté à zéro, et l'objet est complètement libéré. ??

En d'autres termes, Windows récupérer la ressource quand il ne sont plus utilisés, si les processus nettoyer gracieusement d'eux-mêmes ou non.

Et non, même si vous ouvrez un fichier pour un accès exclusif, le fichier lui-même ne sera pas « verrouillé » une fois la poignée de fichier est fermé (et Windows fermera automatiquement lorsque le termine du programme).

Autres conseils

Lorsque la fin de votre programme - peu importe par quels moyens -. Le fichier, si elle existe encore, ne seront plus bloquées par le processus ... parce que le processus n'existe pas

Mais je me demande; si le fichier vient d'être supprimé de toute façon à la fin, avez-vous vraiment besoin de créer un fichier en premier lieu?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top