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.