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

Contenidos

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

error-message-7-1-4142762El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso

Se ha informado 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 tema en particular examinando 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 un terminal, lo más probable es que no tenga privilegios de administrador para realizar las modificaciones. Varios usuarios que se encuentran en una situación similar han logrado solucionar el problema otorgando privilegios de administrador.

  • Otro proceso es usar el puerto 80 o el puerto 443: esto es típico de los equipos que ejecutan IIS (Servicios de información de Internet). Si otro proceso está utilizando estos dos puertos, verá este mensaje de error.

  • La subclave del registro ListenOnlyList no está configurada correctamente: otro escenario común con IIS (Internet Information Services) que desencadenará este error en particular es una subclave del 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. Aquí hay 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 que se enumeran a continuación en orden hasta que encuentre una solución que sea eficaz para resolver el error en su situación particular.

¡Empecemos!

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 ha informado que esto ocurre con mayor frecuencia cuando el usuario intenta ejecutar un comando que agrega exclusiones al rango dinámico de puertos para aplicaciones nativas de Windows o aplicaciones de terceros.

Tenga en cuenta que tal operación 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, haga lo siguiente:

  1. Presione la tecla de Windows + R para abrir el cuadro de diálogo Ejecutar. Luego escriba «cmd» y presione Ctrl + Shift + Enter para abrir un símbolo del sistema elevado. 4-runcmd-5623271Abra una ventana de símbolo del sistema elevado

  2. Cuando se lo solicite UAC (Control de cuentas de usuario), haga clic en Sí para otorgar privilegios de administrador.

  3. En el símbolo del sistema elevado, ejecute el comando nuevamente y vea si aún recibe el mismo mensaje de error.

Si sigue apareciendo el error »El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso» o este escenario no era aplicable, continúe con el siguiente método a continuación.

Método 2: establecer un rango de IP diferente

Si está tratando de resolver un conflicto de DNS utilizando netsh y el método anterior no 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.

Aquí hay 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 era aplicable a la situación que está encontrando, continúe con el método final.

Método 3: resolver el conflicto del puerto IIS

Si encuentra el problema al intentar 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á usando 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 se aplica una de las siguientes condiciones a su situación actual:

  • La subclave del registro ListenOnlyList no está configurada correctamente en el equipo en ejecución de IIS.

  • Otro proceso es utilizar el puerto TCP (80) o el puerto SSL (443) requerido por IIS.

Para resolver este problema, necesitaremos implementar la utilidad Netstat.exe 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 de todo el asunto:

  1. Presione la tecla de Windows + R para abrir el cuadro de diálogo Ejecutar. Luego escriba »cmd» y presione Ctrl + Shift + Enter para abrir un símbolo del sistema elevado. Cuando se lo solicite UAC (Control de cuentas de usuario), haga clic en Sí para otorgar privilegios administrativos. 4-runcmd-5623271Abrir una ventana de símbolo del sistema elevado

  2. Dentro de la línea de comando elevada, ejecute el siguiente comando para iniciar la utilidad Netstat.exe:

    netstat -ano
  3. Una vez que obtenga una devolución, desplácese por la lista de Conexiones activas y verifique si los puertos 50 y 443 están siendo utilizados activamente por un proceso diferente. verify-if-ports-are-used-6878981Comprobando 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 para resolver el conflicto del puerto según su PID.

  4. Cierre el Alto Mando de la Guardia Civil ya que no necesitaremos privilegios de administración para los siguientes pasos.

  5. Si los puertos no se están utilizando activamente, presione la tecla de Windows + R para abrir un cuadro de diálogo Ejecutar. Entonces, escriba $ 0027 regedit $ 0027 y presione Enter para abrir el Editor del Registro. Cuando se lo solicite UAC (Control de cuentas de usuario), haga clic en Sí para otorgar privilegios administrativos. regedit-in-run-dialog-1-1-3958064Abra 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_SYSTEMNCurrentControlSetServicesHTTPNParámetrosN-Listado de Sólo Escuchar 

    Nota: En caso de que la subclave ListenOnlyList no esté presente, no es necesario crear una, ya que se usará una dirección IP de 0.0.0.0 por defecto.

  7. Antes de continuar y modificar la subclave ListenOnlyList, deberá detener el servicio HTTP que IIS está ejecutando. Así que ponga el Editor del Registro en segundo plano, ya que volveremos a él en un momento.

  8. Luego presione la tecla de Windows + R para abrir un cuadro de diálogo Ejecutar, escriba $ 0027 cmd $ 0027 y presione Entrar para abrir otra ventana del símbolo del sistema. cmd-11-7151449Ejecutar diálogo: cmd

  9. En el símbolo del sistema Cmd, ejecute el siguiente comando y presione Enter para detener el servicio HTTP responsable de ejecutar IIS:

    net stop http
  10. Cuando se le pregunte si desea continuar con esta operación, escriba $ 0027Y $ 0027 y presione Enter para confirmar la operación. continue-this-operation-5260969Deshabilitar el servicio HTTP

  11. Una vez que el servicio HTTP esté deshabilitado, cierre la ventana de comandos y regrese al editor de registro.

  12. Con la subclave ListenOnlyList seleccionada, muévase al panel derecho y asegúrese de que contenga direcciones IP válidas. Si encuentra 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. deleting-binary-value-1983176Eliminar valores binarios con direcciones IP no válidas

    Nota: En caso de que la subclave ListenOnlyList esté presente y la dirección 0.0.0.0 esté en la lista, es necesario 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 para estar seguro, presione la tecla de Windows + R para abrir otro cuadro de diálogo Ejecutar. Entonces, escriba «cmd» y presione Enter para abrir una ventana del símbolo del sistema. cmd-11-7151449Abra 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 recibe un mensaje que dice «El servicio solicitado ya ha comenzado», está listo para comenzar.

  16. Intenta iniciar un servicio desde el complemento Microsoft Management Console (MMC) de Servicios de Internet Information Server (IIS). Ya no debería encontrar el error $ 0027 el proceso no puede acceder al archivo porque está siendo utilizado por otro proceso $ 0027.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.