Cómo matar un proceso por puerto en MacOS, a la fuser -k 9000 / tcp


14

En Linux puedo matar un proceso conociendo solo el puerto que está escuchando fuser -k 9000/tcp, ¿cómo hago lo mismo en MacOS?

Respuestas:


19
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9

Cambie PortNumberal puerto real que desea buscar.


2
Solo tuve que agregar -9hasta el final para que esto funcione, pero creo que se debe a la naturaleza de la aplicación de escucha y no a la práctica generalmente recomendada kill -9.
Kris

@Kris - lsof -P | grep ': NumberOfPort' | awk '{print $ 2}' | xargs kill -9 funcionó!
ases.

11

Agregar los indicadores -t e -i a lsof debería acelerarlo aún más al eliminar la necesidad de grep y awk.

lsof -nti:NumberOfPort | xargs kill -9

2
¡Funciona y es más conciso que la respuesta aceptada!
Big Rich

1
MUCHO más rápido con este enfoque
daleyjem

2

Agregue -n a lsof y elimine la búsqueda inversa de DNS del comando y reduzca el tiempo de ejecución de minutos a segundos.

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9

1
  1. Verifique que su puerto esté abierto o no

sudo lsof -i: {PORT_NUMBER}

COMMAND PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    582 Thirumal  300u  IPv6 0xf91b63da8f10f8b7      0t0  TCP *:distinct (LISTEN)

2. Cierre el puerto matando el PID del proceso

sudo kill -9 582

1

Puede ver si un puerto está abierto por este comando

 sudo lsof -i :8000

donde 8000 es el número de puerto

Si el puerto está abierto, debería devolver una cadena que contiene la ID de proceso (PID).

Copie este PID y

kill -9 PID

Si necesita ver todos los puertos abiertos, puede realizar un Escaneo de puertos en la aplicación Network Utility.


0

Puede usar kill -9 $(lsof -i:PORT -t) 2> /dev/null, donde PORT es su número de puerto real. Eliminará el proceso que se ejecuta en su puerto dado.


Estás repitiendo otra respuesta
yass
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.