open - ¿Cómo matar el proceso que actualmente usa un puerto en localhost en Windows?
open ports windows (12)
¿Cómo eliminar el proceso / aplicación actual que ya está asignado a un puerto?
Por ejemplo:
localhost:8080
En Windows PowerShell versión 1 o posterior para detener un proceso en el puerto 3000, escriba:
Stop-Process (, (netstat -ano | Findstr: 3000) .split () | foreach {$ [$ .length-1]}) -Force
Como lo sugiere @morganpdx, aquí hay una versión más potente de PowerShell, mejor:
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000) .OwningProcess -Force
En caso de que quiera hacerlo usando python: marque ¿Es posible en el proceso de eliminación de python que se ejecuta en un puerto específico, por ejemplo 8080? La respuesta de Smunk funciona bien. Repito su código aquí:
from psutil import process_iter
from signal import SIGTERM # or SIGKILL
for proc in process_iter():
for conns in proc.connections(kind=''inet''):
if conns.laddr.port == 8080:
proc.send_signal(SIGTERM) # or SIGKILL
continue
Estaba ejecutando zookeeper @windows, no pude detener el funcionamiento del zookeeper en el puerto 2181 usando zookeeper-stop.sh, así que probé este método de doble barra "//" para hacer tareas. Funcionó
1. netstat -ano | findstr :2181
TCP 0.0.0.0:2181 0.0.0.0:0 LISTENING 8876
TCP [::]:2181 [::]:0 LISTENING 8876
2.taskkill //PID 8876 //F
SUCCESS: The process with PID 8876 has been terminated.
Para usar en la línea de comandos:
for /f "tokens=5" %a in (''netstat -aon ^| find ":8080" ^| find "LISTENING"'') do taskkill /f /pid %a
Para usar en bat-file:
for /f "tokens=5" %%a in (''netstat -aon ^| find ":8080" ^| find "LISTENING"'') do taskkill /f /pid %%a
Para usuarios de Windows, puede usar la herramienta CurrPorts para eliminar puertos en uso fácilmente
Podemos evitar esto simplemente reiniciando el IIS, usando el siguiente comando.
IISRESET
Puede hacerlo ejecutando un archivo bat:
@ECHO OFF
FOR /F "tokens=5" %%T IN (''netstat -a -n -o ^| findstr "9797" '') DO (
SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
echo ProcessId to kill = %ProcessId%
taskkill /f /pid %ProcessId%
PAUSE
Si ya conoce el número de puerto, probablemente sea suficiente enviar una señal de terminación de software al proceso (SIGTERM):
kill $(lsof -t -i :PORT_NUMBER)
Paso 1 (lo mismo está en la answer aceptada escrita por ):
netstat -ano | findstr :yourPortNumber
Cambie en el Paso 2 a:
tskill typeyourPIDhere
Esto ya que
taskkill
no funciona en algún comando git bash
Paso 1
Ejecute la línea de comandos como administrador. Luego ejecute el siguiente comando de mención. escriba su número de puerto en su número de puerto
netstat -ano | Findstr: yourPortNumber
El área marcada con un círculo rojo muestra el PID (identificador de proceso)
Paso 2
Luego ejecuta este comando después de identificar el PID.
taskkill / PID typeyourPIDhere / F
PD Ejecute el primer comando nuevamente para verificar si el proceso aún está disponible o no. Obtendrá una línea vacía si el proceso finaliza con éxito.
Si estás usando GitBash
Paso uno:
netstat -ano | findstr :8080
Segundo paso:
taskkill /PID typeyourPIDhere /F
(
/F
termina por la fuerza el proceso)
con las herramientas predeterminadas de WINDOWS10:
Paso 1: busque PID (ProcessID) para el puerto 8080:
netstat -aon | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 ESCUCHE 11999
Paso 2: Mata el proceso zombie:
taskkill /F /PID 11999
donde "11999" es su PID