Solución: el proceso no puede acceder al archivo porque otro proceso lo está utilizando

Solución: el proceso no puede acceder al archivo porque otro proceso lo está utilizando

Fix Process Cannot Access File Because It Is Being Used Another Process

Varios usuarios de Windows se encuentran con el ' El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso ' error. La mayoría de las veces, el problema ocurre cuando el usuario intenta ejecutar un comando netsh. Algunos usuarios informan que para ellos, el mensaje de error aparece cuando intentan hacer clic con el botón derecho en un sitio web en el complemento MMC (Microsoft Management Console) de IIS (Internet Information Services).



El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso



Se informa que el problema ocurre en Windows Vista, Windows 7, Windows 8.1, Windows 10 y en varias versiones de Windows Server.

¿Qué hace que el proceso sea utilizado por otro proceso?

Investigamos este problema en particular analizando varios informes de usuarios y las estrategias de reparación que utilizaron para resolver el problema. Según lo que pudimos recopilar, existen varios escenarios comunes que desencadenarán este mensaje de error en particular:



  • El comando requiere privilegios de administrador - Si encuentra el error dentro de una terminal, lo más probable es que no tenga privilegios de administrador para realizar las modificaciones. Varios usuarios en una situación similar han logrado resolver el problema otorgando privilegios de administrador.
  • Otro proceso está utilizando el puerto 80 o el puerto 443 - Esto es típico en equipos que ejecutan IIS (Internet Information Services). Si otro proceso está usando estos dos puertos, verá este mensaje de error.
  • La subclave del registro ListenOnlyList no está configurada correctamente - Otro escenario común con IIS (servicios de información de Internet) que desencadenará este error en particular es una subclave de registro ListenOnlyList configurada incorrectamente.

Si actualmente tiene dificultades para resolver este mensaje de error en particular, este artículo le proporcionará una colección de pasos de solución de problemas verificados. A continuación, tiene una colección de métodos que otros usuarios en una situación similar han utilizado para resolver el problema.

Para obtener los mejores resultados, siga los métodos a continuación en orden hasta que encuentre una solución que sea efectiva para resolver el error en su escenario particular.

¡Vamos a empezar!



Método 1: ejecutar el comando con privilegios de administrador

Si recibe este error al intentar ejecutar un comando netsh, es probable que el error se deba a que no tiene privilegios de administrador. Se informa que esto ocurre con más frecuencia cuando el usuario intenta ejecutar un comando que agrega exclusiones al rango de puertos dinámicos para aplicaciones nativas de Windows o aplicaciones de terceros.

Tenga en cuenta que una operación de este tipo requerirá privilegios de administrador. Para asegurarse de que la ventana de CMD en la que está intentando realizar la acción tenga privilegios de administrador, siga los pasos a continuación:

  1. prensa Tecla de Windows + R para abrir un cuadro de diálogo Ejecutar. Luego, escriba ' cmd 'Y presione Ctrl + Mayús + Entrar para abrir un símbolo del sistema elevado.

    Abrir una ventana de símbolo del sistema elevada

  2. Cuando se lo solicite el UAC (Control de cuentas de usuario) , haga clic en si para otorgar privilegios de administrador.
  3. En el símbolo del sistema elevado, ejecute el comando nuevamente y vea si sigue encontrando el mismo mensaje de error.

Si todavía recibe el ' El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso ' error o este escenario no era aplicable, pase al siguiente método a continuación.

Método 2: establecer un rango de IP diferente

Si está intentando resolver un conflicto de DNS mediante netsh y el método anterior no le ayudó, es posible que desee probar un enfoque diferente.

Varios usuarios que luchan por resolver el mismo mensaje de error han descubierto que el conflicto se resuelve después de intentar establecer un rango de IP completamente diferente en lugar de crear un rango de exclusión.

A continuación, tiene un par de comandos que un usuario afectado ejecutó con éxito para resolver un conflicto entre DNS y Quickbooks:

netsh int ipv4 set dynamicport tcp start = 10000 num = 1000 netsh int ipv4 set dynamicport udp start = 10000 num = 1000

Nota: Asegúrese de que la terminal en la que está ejecutando el comando tenga privilegios de administrador.

Si este método no resolvió el conflicto o no fue aplicable a la situación que está enfrentando, pase al método final.

Método 3: resolución del conflicto del puerto IIS

Si encuentra el problema mientras intenta hacer clic con el botón derecho en un elemento del sitio web dentro del complemento MMC de IIS (hacer clic en Inicio no hace nada), deberá usar la utilidad Netstat.exe para averiguar si otro proceso está utilizando el puerto 80 y el puerto 443.

Este problema es bastante común en equipos que ejecutan Microsoft IIS 6.0 y 7.0. Según la documentación oficial de Microsoft, el mensaje de error aparecerá si una de las siguientes condiciones es aplicable a su situación actual:

  • los ListenOnlyList La subclave del registro no está configurada correctamente en el equipo en ejecución de IIS.
  • Otro proceso está utilizando el puerto TCP (80) o el puerto SSL (443) requerido por IIS.

Para resolver este problema, tendremos que implementar el Netstat.exe utilidad para determinar si otro proceso está utilizando los puertos especificados anteriormente. Si la utilidad determina que los puertos no se están utilizando, examinaremos la subclave ListenOnlyList para ver si está configurada correctamente.

Aquí hay una guía paso a paso a través de todo:

  1. prensa Tecla de Windows + R para abrir un cuadro de diálogo Ejecutar. Luego, escriba ' cmd 'Y presione Ctrl + Mayús + Entrar para abrir un símbolo del sistema elevado. Cuando se lo solicite el UAC (Control de cuentas de usuario) , haga clic en si para otorgar privilegios administrativos.

    Abrir una ventana de símbolo del sistema elevada

  2. Dentro del símbolo del sistema elevado, ejecute el siguiente comando para iniciar el Netstat.exe utilidad:
    netstat -ano
  3. Una vez que obtenga una devolución, desplácese por la lista de Conexiones activas y verificar si los puertos 50 y 443 están siendo utilizados activamente por un proceso diferente.

    Verificar si los puertos están siendo utilizados por un proceso diferente

    Nota: Si los puertos están siendo utilizados activamente por un proceso diferente, acaba de lograr identificar la fuente de su problema. En este caso, busque en línea los pasos específicos sobre cómo resolver el conflicto del puerto de acuerdo con el PID del puerto.

  4. Cierre el símbolo del sistema elevado, ya que no necesitaremos privilegios de administrador para los siguientes pasos.
  5. Si los puertos no se utilizan activamente, presione Tecla de Windows + R para abrir un cuadro de diálogo Ejecutar. Luego, escriba ' regedit 'Y presione Entrar para abrir el Editor de registro . Cuando se lo solicite el UAC (control de cuentas de usuario) , haga clic en si para otorgar privilegios administrativos.

    Abrir la utilidad del Editor del registro

  6. Dentro del editor del Registro, use el panel izquierdo para navegar a la siguiente ubicación:
    HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Services  HTTP  Parameters  ListenOnlyList 

    Nota: En caso de ListenOnlyList la subclave no está presente, no es necesario crear una como dirección IP de 0.0.0.0 se utilizará de forma predeterminada.

  7. Antes de continuar y modificar el ListenOnlyList subclave, deberá detener el servicio HTTP que ejecuta IIS. Así que ponga el Editor del Registro en segundo plano, ya que volveremos a él en un momento.
  8. A continuación, presione Tecla de Windows + R para abrir un cuadro de diálogo Ejecutar, escriba ' cmd 'Y presione Entrar para abrir otra ventana del símbolo del sistema.

    Ejecutar diálogo: cmd

  9. En el símbolo del sistema Cmd, ejecute el siguiente comando y presione Entrar para detener el servicio HTTP responsable de ejecutar el IIS:
    net stop http
  10. Cuando se le pregunte si desea continuar con esta operación, escriba 'Y' y presione Entrar para confirmar la operación.

    Deshabilitar el servicio HTTP

  11. Una vez que el servicio HTTP esté deshabilitado, cierre la ventana del símbolo del sistema y regrese al Editor del registro.
  12. Con el ListenOnlyList subclave seleccionada, muévase al panel de la derecha y asegúrese de que contiene direcciones IP válidas. Si detecta una dirección IP que no es válida, elimínela o modifíquela para reflejar una entrada con una dirección IP válida.

    Eliminar los valores binarios con IP no válidas

    Nota: En caso de ListenOnlyList la subclave está presente y la 0.0.0.0 La dirección aparece en la lista, debe eliminar todas las demás direcciones IP.

  13. Cierre el Editor del Registro y reinicie su computadora.
  14. En el próximo inicio, el servicio HTTP debería iniciarse automáticamente. Pero solo para asegurarse, presione Tecla de Windows + R para abrir otro cuadro de diálogo Ejecutar. Luego, escriba ' cmd 'Y presione Entrar para abrir una ventana del símbolo del sistema.

    Abrir una ventana de símbolo del sistema normal

  15. En el símbolo del sistema recién abierto, escriba el siguiente comando para asegurarse de que se inicie el servicio HTTP:
     net start http 

    Nota: Si le devuelven un mensaje que dice que “El servicio solicitado ya se inició”, está listo para comenzar.

  16. Intente iniciar un servicio desde el complemento Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Ya no deberías encontrar el 'El proceso no puede acceder al archivo porque lo está utilizando otro proceso' error.
5 minutos de lectura