Si reinicio Windows mientras un proceso de terceros tiene un archivo bloqueado, ¿se liberará el bloqueo automáticamente?
Por tercero, me refiero a cualquier proceso que no sea de Windows, como mi software o el software de otro proveedor.
Si es así, ¿es 100% o depende?
Respuesta1
Sí. Windows le da a cada programa WaitToKillAppTimeout
unos segundos para apagarse (el valor predeterminado es20):https://technet.microsoft.com/en-us/library/cc978624.aspx
Después de eso, cierra todos los programas. Todos los archivos se liberan, los controladores de archivos dejan de ser válidos y Windows se cierra.
Respuesta2
En primer lugar,Sí, según la respuesta proporcionada por @ user996142
Para profundizar en mi comentario sobre los procesos de red, la respuesta es "eventualmente sí". Cualquier cosa que acceda a sus archivos a través de la red en realidad está bloqueando el archivo indirectamente. El proceso host en su máquina (por ejemplo, cualquier proceso que esté detrás del intercambio SMB) realiza el bloqueo del archivo real. Si algo accede a este archivo y fuerza una hibernación o suspensión, cuando lo reanude seguirá bloqueado hasta que el proceso SMB note que el cliente ya no está conectado y libere el bloqueo. No estoy seguro del plazo aquí, pero a Microsoft parece gustarle el tiempo de espera predeterminado de 2 minutos.