¿Cómo puedo eliminar el proceso / aplicación actual que ya está asignado a un puerto?
Por ejemplo: localhost:8080
Paso 1:
Abra cmd.exe (nota: es posible que deba ejecutarlo como administrador, pero esto no siempre es necesario), luego ejecute el siguiente comando:
netstat -ano | findstr :PORT_NUMBER
(Reemplace PORT_NUMBER con el número de puerto que desea, pero mantenga los dos puntos)
El área encerrada en un círculo rojo muestra el PID (identificador de proceso). Localice el PID del proceso que está utilizando el puerto que desea.
Paso 2:
A continuación, ejecute el siguiente comando:
taskkill /PID PID /F
(Sin dos puntos esta vez)
Por último, puede verificar si la operación tuvo éxito o no volviendo a ejecutar el comando en el "Paso 1". Si tuvo éxito, no debería ver más resultados de búsqueda para ese número de puerto.
taskkill //PID 12552 //F
taskkill /PID PORT_NUMBER /F
Paso 1 (lo mismo está en la respuesta aceptada escrita por KavinduWije ):
Cambie en el Paso 2 a:
Nota :
taskkill
no funciona en alguna terminal de git bashfuente
Con las herramientas predeterminadas de Windows 10:
Abra Windows PowerShell como administrador
Encuentre PID (ProcessID) para el puerto 8080:
Mata el proceso zombie:
donde "77777" es su PID
fuente
set /p port="Enter port: "
-> Puerto de entradaFOR /F "tokens=5" %%T IN ('netstat -aon ^| findstr %port% ') DO ( SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
-> Extrae PID en variabletaskkill /f /pid %ProcessId%
-> Elimina la tareacmd /k
-> Mantiene la ventana abiertaSi estás usando GitBash
Paso uno:
Segundo paso:
(
/F
termina con fuerza el proceso)fuente
En Windows PowerShell versión 1 o posterior para detener un proceso en el puerto 3000, escriba:
Como lo sugiere @morganpdx, aquí hay una versión más potente de PowerShell, mejor:
fuente
'Stop-Process' is not recognized as an internal or external command,
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force
Para usar en la línea de comandos:
Para usar en bat-file:
fuente
Si ya conoce el número de puerto, probablemente sea suficiente enviar una señal de terminación de software al proceso (SIGTERM):
fuente
lsof -nt -i4TCP:9001
.Para usuarios de Windows, puede usar la herramienta CurrPorts para eliminar puertos en uso fácilmente:
fuente
Estaba ejecutando zookeeper en Windows y no pude detener el funcionamiento de ZooKeeper en el puerto 2181 usando zookeeper-stop.sh, así que probé este método de doble barra "//" para hacer tareas. Funcionó
fuente
Si está utilizando Windows Terminal, entonces el proceso de eliminación podría ser un poco menos tedioso. He estado usando el terminal de Windows y
kill PID
funciona bien para mí para matar procesos en el puerto ya que el nuevo Terminal de Windows admite ciertos comandos bash. Por ejemplo:kill 13300
Entonces, el proceso completo se verá así:
netstat -ano | findstr :PORT
kill PID
Por ejemplo:
Vea cuando escribí el primer comando para enumerar los procesos en el puerto que devolvió vacío. Eso significa que todos los procesos se eliminan ahora.
fuente
kill
. Publicaré aquí si encuentro.Puede hacerlo ejecutando un archivo bat:
fuente
En caso de que quiera hacerlo usando Python: marque ¿Es posible en Python matar el proceso que está escuchando en un puerto específico, por ejemplo 8080?
La respuesta de Smunk funciona bien. Repito su código aquí:
fuente
Solución de una línea usando GitBash :
Reemplace 8080 con el puerto que su servidor está escuchando.
Si necesita usarlo con frecuencia, intente agregar a su
~/.bashrc
función:y simplemente corre
fuente
Podemos evitar esto simplemente reiniciando IIS, utilizando el siguiente comando:
fuente