Comment faire en sorte qu'IIS 7 libère un fichier verrouillé ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment faire en sorte qu'IIS 7 libère un fichier verrouillé ?

Message par ForumBot »

Lors de nos builds de production, un très gros fichier de contenu statique (10 mégaoctets) dans le répertoire racine est parfois verrouillé par IIS et ne peut pas être supprimé par la tâche de nettoyage. C’est probablement parce qu’il est activement servi à un ou plusieurs clients à ce moment-là.


Le processus de build arrête le site web avant le nettoyage via :


c:\Windows\System32\inetsrv\appcmd.exe stop site http://oursite.com


Cependant, cela ne libère pas le fichier — nous devons redémarrer IIS pour que le processus lâche son verrou.


appcmd.exe vous permet d’arrêter IIS complètement ; nous ne voulons pas faire cela !


Y a-t-il d’autres moyens de faire en sorte qu’IIS lâche un fichier verrouillé, sans redémarrer IIS ? Le simple arrêt et redémarrage du site web individuel ne fonctionne définitivement pas pour libérer le verrou de fichier.




Source : Server Fault

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment faire en sorte qu'IIS 7 libère un fichier verrouillé ?

Message par ayi »

J’utilise un petit outil appelé « Handle » pour cela.


Vous lui passez essentiellement le nom du fichier verrouillé et il vous indique quels processus l’utilisent :


handle c:\weird.file
Something.exe pid: 1000 100: C:\weird.file
Something.exe pid: 1000 101: C:\weird.file


Ensuite, vous lui passez le commutateur -c pour lui faire fermer le handle :


handle.exe -c 101 -p 1000 -y
handle.exe -c 100 -p 1000 -y


Vous pourriez avoir du mal à intégrer cela dans un script de build sans un programme enveloppeur pour analyser la sortie, mais j’espère que cela vous aidera.

Répondre

Revenir à « Windows Server 2025 »