22 votos

Cómo matar un proceso por puerto en MacOS, al estilo de fuser -k 9000/tcp

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

32voto

stefano Puntos 86
lsof -P | grep ':NúmeroPuerto' | awk '{print $2}' | xargs kill -9

Cambia NúmeroPuerto por el puerto actual que deseas buscar.

2 votos

Solo tuve que agregar -9 al final para que esto funcione, pero creo que se debe a la naturaleza de la aplicación de escucha y no es una práctica generalmente recomendada, hacer un kill -9, eso es.

0 votos

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

19voto

Zlemini Puntos 361

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

lsof -nti:NúmeroDePuerto | xargs kill -9

Argumentos de lsof:

  • -n Evita la búsqueda de nombres de host (puede resultar en un rendimiento más rápido)
  • -t Salida concisa; solo devuelve IDs de procesos para facilitar el piping de la salida a kill
  • -i Selecciona solo aquellos archivos cuya dirección de Internet coincide

Argumentos de kill:

  • -9 Kill no capturable, no ignorar

3 votos

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

3 votos

MUCHO más rápido con este enfoque

4voto

rohanharikr Puntos 141

Puedes ver si un puerto está abierto con 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 contenga el ID de proceso (PID).

Copia este PID y

kill -9 PID

Si necesitas ver todos los puertos abiertos, puedes realizar un escaneo de puertos en la aplicación Utilidad de Red.

3voto

stevehollx Puntos 11

Agrega -n a lsof y eliminas la búsqueda de DNS inversa del comando y reduces el tiempo de ejecución de minutos a segundos.

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

2voto

Thirumal Puntos 123
  1. Comprueba si tu puerto está abierto o no con

sudo lsof -i : {NÚMERO_DE_PUERTO}

COMANDO PID     USUARIO   FD   TIPO             DISPOSITIVO TAMAÑO/OFF NODO NOMBRE
java    582 Thirumal  300u  IPv6 0xf91b63da8f10f8b7      0t0  TCP *:distinct (ESCUCHA)

2. Cierra el puerto matando al proceso PID

sudo kill -9 582

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X