Varios usuarios de Windows se encuentran con el error ” El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso” .La mayoría de las veces, el problema se produce cuando el usuario intenta ejecutar un comando netsh. Algunos usuarios informan de que, para ellos, el mensaje de error aparece cuando intentan hacer clic con el botón derecho del ratón 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 ha informado que el problema se produce en Windows Vista, Windows 7, Windows 8.1, Windows 10 y en varias versiones de Windows Server.
Contenido
¿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. Basándonos en lo que pudimos reunir, hay varios escenarios comunes que desencadenarán este mensaje de error en particular:
- El comando requiere privilegios de administrador – Si te encuentras con el error dentro de una terminal, lo más probable es que se deba a que no tienes privilegios de administrador para hacer las modificaciones. Varios usuarios que se encuentran en una situación similar han logrado resolver el problema concediendo privilegios de administrador.
- Otro proceso es usar el puerto 80 o el puerto 443 – Esto es típico de las computadoras que ejecutan IIS (Internet Information Services). Si otro proceso está usando estos dos puertos, verás este mensaje de error.
- La subclave de registro ListenOnlyList no está configurada correctamente – Otro escenario común con los IIS (servicios de información de Internet) que desencadenará este error en particular es una subclave de registro ListenOnlyList incorrectamente configurada.
Si actualmente tienes dificultades para resolver este mensaje de error en particular, este artículo te proporcionará una colección de pasos verificados para la resolución de problemas. A continuación, tienes 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 indican a continuación en orden hasta que encuentre una solución que sea efectiva para resolver el error en su escenario particular.
¡Empecemos!
Método 1: Ejecutar el comando con privilegios de administrador
Si recibe este error al intentar ejecutar un comando de netsh, es probable que el error se produzca porque no tiene privilegios de administrador. Se ha informado que esto ocurre con más 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 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 tiene privilegios de administrador, siga los siguientes pasos:
-
Presiona la tecla Windows + R para abrir el cuadro de diálogo Ejecutar. Luego, escribe ” cmd ” y pulsa Ctrl + Mayúsculas + Intro para abrir un símbolo de comando elevado.
Abrir una ventana de símbolo de comando elevado
- Cuando el UAC (Control de Cuentas de Usuario) lo solicite, haga clic en Sí para conceder los privilegios de administrador.
- En el indicador de comando elevado, ejecute el comando de nuevo y vea si sigue encontrando el mismo mensaje de error.
Si todavía recibes el error ” El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso” o este escenario no era aplicable, pasa al siguiente método a continuación.
Método 2: Establecer un rango de IP diferente
Si estás tratando de resolver un conflicto de DNS usando netsh y el método anterior no te ayudó, tal vez quieras probar un enfoque diferente.
Varios usuarios que se esfuerzan por resolver el mismo mensaje de error han descubierto que el conflicto se resuelve después de haber intentado establecer un rango de IP completamente diferente en lugar de crear un rango de exclusión.
A continuación tienes un par de comandos que un usuario afectado ejecutó con éxito para resolver un conflicto entre el 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úrate de que la terminal en la que estás ejecutando el comando tiene privilegios de administrador.
Si este método no resolvió el conflicto o no era aplicable a la situación que se está encontrando, pase al método final.
Método 3: Resolución del conflicto de puertos del IIS
Si se encuentra con el problema mientras intenta hacer clic con el botón derecho del ratón en un elemento del sitio web dentro del complemento de la MMC del IIS (al hacer clic en Inicio no se hace nada), deberá utilizar 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 los ordenadores 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:
- La subclave de registro ListenOnlyList no está configurada correctamente en el ordenador de ejecución del IIS.
- Otro proceso es usar el puerto TCP (80) o el puerto SSL (443) requerido por el IIS.
Para resolver este problema, necesitaremos desplegar la utilidad Netstat.exe para determinar si otro proceso está usando los puertos especificados anteriormente. Si la utilidad determina que los puertos no están siendo usados, examinaremos la subclave ListenOnlyList para ver si está correctamente configurada.
Aquí hay una guía paso a paso a través de todo el asunto:
-
Presiona la tecla Windows + R para abrir el cuadro de diálogo Ejecutar. Luego, escribe ” cmd ” y pulsa Ctrl + Mayúsculas + Intro para abrir un Símbolo de Comando elevado. Cuando el UAC (Control de Cuentas de Usuario) lo solicite, haga clic en Sí para conceder privilegios administrativos.
Apertura de una ventana elevada del símbolo del sistema
-
Dentro de la línea de comandos elevada, ejecute el siguiente comando para iniciar la utilidad Netstat.exe :
netstat -ano
-
Una vez que obtenga un retorno, 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.
Verificando 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 el PID del mismo.
- Cierre el elevado Comando de la Guardia Civil ya que no necesitaremos privilegios de administración para los próximos pasos.
-
Si los puertos no se utilizan activamente, pulsa la tecla Windows + R para abrir un cuadro de diálogo Ejecutar. Entonces, escribe $0027 regedit $0027 y pulsa Enter para abrir el Editor del Registro . Cuando el UAC (Control de cuentas de usuario) lo solicite, pulse Sí para conceder privilegios administrativos.
Abrir la utilidad del Editor del Registro
-
Dentro del editor del Registro, usa 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 como una dirección IP de 0.0.0.0 se utilizará por defecto.
- Antes de seguir adelante y modificar la subclave ListenOnlyList , tendrás que detener el servicio HTTP que está ejecutando el IIS. Así que pon el Editor de Registro en segundo plano ya que volveremos a él en un momento.
-
A continuación, pulsa tecla Windows + R para abrir un cuadro de diálogo Ejecutar, escribe $0027 cmd $0027 y pulsa Intro para abrir otra ventana de Símbolo del Sistema.
Diálogo Ejecutar: cmd
-
En el prompt del Cmd, ejecute el siguiente comando y presione Enter para detener el servicio HTTP responsable de ejecutar el IIS:
net stop http
-
Cuando se le pregunte si quiere continuar esta operación, escriba $0027Y$0027 y pulse Intro para confirmar la operación.
Deshabilitando el Servicio HTTP
- Una vez que el servicio HTTP esté desactivado, cierre la ventana de comandos y vuelva al editor del registro.
-
Con la subclave ListenOnlyList seleccionada, muévase al panel de la derecha y asegúrese de que contiene direcciones IP válidas. Si encuentras una dirección IP que no es válida, elimínala o modifícala para que refleje una entrada con una dirección IP válida.
Eliminar los valores binarios con IPs 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 borrar todas las demás direcciones IP.
- Cierre el Editor del Registro y reinicie su ordenador.
-
En el próximo arranque, el servicio HTTP debería iniciarse automáticamente. Pero para asegurarse, presione la tecla Windows + R para abrir otro cuadro de diálogo Ejecutar. Entonces, escribe ” cmd ” y pulsa Intro para abrir una ventana Command Prompt.
Abrir una ventana Command Prompt normal
-
En el recién abierto Command Prompt, escriba el siguiente comando para asegurarse de que el servicio HTTP se inicia:
net start http
Nota: Si te devuelven un mensaje diciendo que “El servicio solicitado ya ha comenzado” estás listo para ir.
- Intenta iniciar un servicio desde el snap-in de Microsoft Internet Information Services (IIS) Microsoft Management Console (MMC). Ya no debería encontrarse con el error $0027process cannot access the file because it is being used by another process$0027 .