¿Cómo desbloquear un archivo bloqueado por cualquier proceso o sistema?

A veces, cuando intenta eliminar, cambiar el nombre o mover un archivo en Windows, es posible que vea un mensaje de que el archivo está ocupado / bloqueado / utilizado por otro proceso. Por lo general, el nombre del programa que mantiene el archivo abierto se muestra a la derecha en la ventana de mensajes del Explorador de archivos. Para desbloquear el archivo, basta con cerrar el programa. Sin embargo, puede ocurrir que un archivo o una biblioteca sea utilizado por un proceso desconocido o del sistema. Entonces es más difícil desbloquearlo.

Muchas aplicaciones abren archivos en modo exclusivo. Al mismo tiempo, el archivo está bloqueado por un sistema de archivos que impide las operaciones de entrada y salida de otras aplicaciones y procesos. Si cierra la aplicación, se libera el bloqueo del archivo.

Un mensaje de bloqueo de archivo puede ser diferente. Por ejemplo, la siguiente captura de pantalla muestra el tipo de archivo y la aplicación a la que está asociado:

File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.

Luego, puede comprender fácilmente qué aplicación ha bloqueado el archivo y cerrarlo.

Sin embargo, a veces puede ver un mensaje más interesante de que un archivo es utilizado por un proceso del sistema Windows o desconocido. Puede ser un proceso de Windows u otros procesos que funcionan con los privilegios del sistema, como una aplicación antivirus, un agente de respaldo, una base de datos MSSQL, etc.

The action can’t be completed because the file is open in SYSTEM.
Close the file and try again.

Intentemos averiguar qué programa, servicio o proceso del sistema de Windows está utilizando un archivo, cómo desbloquear el archivo y si puede liberarse sin cerrar el proceso principal.

La forma más sencilla de desbloquear el archivo es finalizar el proceso que lo ha bloqueado. Pero no siempre es posible, especialmente en los servidores.

Para encontrar un proceso que ha bloqueado un archivo, a menudo se recomienda utilizar el Desbloqueador herramienta. No uso Unlocker porque no proporciona información detallada sobre un proceso o una cadena de procesos que han bloqueado un archivo. Tampoco puede desbloquear un archivo utilizado por un proceso; debe eliminar una aplicación por completo.

Además, es una herramienta de terceros, y debes estar muy atento cuando la instales, ya que sugiere instalar un paquete completo de programas que no necesitas.

Cuando un proceso en Windows abre un archivo, se asigna un descriptor de archivo (identificador) al flujo de entrada / salida. El proceso y sus procesos secundarios acceden al archivo utilizando el controlador. Con la API de Windows, puede enviar una señal a su sistema de archivos para liberar el identificador del archivo y desbloquear el archivo.

Si fuerza el cierre de los identificadores de archivos, puede resultar en un trabajo inestable de su aplicación o computadora. Si no está seguro de lo que puede suceder después de cerrar el identificador de archivo de una aplicación, no lo haga en un servidor de producción a menos que lo haya probado con anticipación.

¿Cómo desbloquear un archivo usando el Explorador de procesos?

Explorador de procesos es una herramienta gratuita del kit Sysinternals que puede descargar del sitio web de Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). Intentemos encontrar un proceso que haya bloqueado un archivo y liberarlo restableciendo el identificador de archivo del proceso.

  1. No necesita instalar ProcessExplorer: simplemente descargue, extraiga y ejecute procexp.exe como administrador;
  2. Seleccione Encontrar -> Buscar identificador o DLL (o presione Ctrl-F); explorador de procesos: busque el identificador o dll
  3. Especifique el nombre del archivo que desea desbloquear y haga clic en Buscar;
  4. Seleccione el archivo que desee. El proceso que ha abierto el archivo se resaltará en el árbol de procesos. Haga clic derecho y seleccione Matar árbol de proceso para finalizar el proceso. Sin embargo, puede intentar cerrar el identificador del archivo sin finalizar el proceso. El identificador de archivo que buscó se resalta automáticamente en el panel inferior del Explorador de procesos. Haga clic con el botón derecho en el asa y seleccione Cerrar la manija. Confirme el cierre del archivo; liberar un identificador de archivo usando el explorador de procesos

Si el panel inferior con la lista de identificadores de procesos abiertos no se muestra en su Explorador de procesos, habilite la opción Ver -> Vista del panel inferior -> Mangos.

Entonces ha cerrado el identificador del archivo sin finalizar el proceso principal. Luego, puede eliminar o cambiar el nombre del archivo.

¿Cómo liberar un mango de archivo con la herramienta Mango?

Resolver es otra herramienta de línea de comandos de Sysinternals (puede descargarla en el sitio web de Microsoft: https://docs.microsoft.com/en-us/sysinternals/downloads/handle). Le permite encontrar un proceso que haya bloqueado su archivo y liberar el bloqueo liberando la manija.

  1. Descargue y extraiga el archivo de Handle;
  2. Abra el símbolo del sistema como administrador y ejecute el siguiente comando: handle64.exe > listproc.txt
  3. Este comando guardará la lista de identificadores abiertos en un archivo txt. Puede mostrar los identificadores de un directorio en el que se encuentra el archivo que desea cambiar: Handle64.exe -a “C:Program FilesApp” o para el proceso específico: handle64.exe -p excel.exe
  4. Abra listproc.txt en cualquier editor de texto y busque la línea que contiene el nombre del archivo bloqueado. Copiar el identificador del archivo IDENTIFICACIÓN (en formato hexadecimal). Luego suba a la sección donde se muestra el proceso que posee el identificador y anote su ID. Lo más probable es que un proceso que se ejecuta como sistema tenga PID 4. obtener la identificación del identificador de archivo abierto usando handle64.exe
    Para algunos procesos del sistema de Windows, handle.exe devuelve el siguiente mensaje: wininit.exe pid: 732 <unable to open process>. Significa que no puede obtener ninguna información sobre estos procesos del sistema (incluso como administrador). Para que dichos procesos abran los identificadores de archivo, ejecute cmd.exe como Sistema e intente obtener la lista de identificadores nuevamente.
  5. Luego regrese al símbolo del sistema y restablezca el identificador del archivo por su HandleID y ProcessID. El comando tiene el siguiente formato: handl64e.exe -c HandleID -p ProcessID Por ejemplo: handl64e.exe -c 18C -p 18800cerrar el identificador de archivo en Windows 10
  6. La herramienta le pedirá que confirme el cierre del archivo para el proceso. Confirmarlo presionando y -> enter.

Si el sistema reacciona al cierre del archivo correctamente, desbloqueará su archivo sin finalizar el proceso o reiniciar su servidor / computadora.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *