Hoy me he encontrado un problema de estos que al encontrar
la solución te deja buen sabor de boca
y por esa razón lo comparto.
Situación, archivo
que tiene bloqueado el acceso de escritura en una unidad de red pero que el cual no esta accedido.
Lo primero que hice fuer verificar si el archivo aparecía accedido usando las propias herramientas del SO. Pero ni con la versión GUI ni con la version CLI 'openfiles' funciono. El caso es que se veía el archivo accedido y dejaba forzar el cierre pero aún así nada.
Después de
esto intente con programas estilo IOBit Unlocker pero no me servían porque no funcionan con recursos de
red.
Entonces, me acorde de la asignatura de Administración de Sistemas Operativos, y pensé que quizás el proceso que se había usado para manejar el acceso al
archivo había fallado a la hora de
realizar la llamada al sistema close() al finalizar el acceso y liberar el archivo.
Por ahí la
cosa, si que funciono.
Lo primer o fue usar el programa 'process explorer’ de 'sysinternals'. Usando la opción 'find' podemos buscar manejadores o dll's que contengan una cadena determinada, por ejemplo el
nombre de archivo que está
bloqueado.
Y una vez localizado el manejador, podemos forzar el cierre
Y ahora si, archivo liberado :)
Culex.