6 votos

Linux: Matar proceso en un puerto específico

¿Cómo matar un proceso si se conoce su puerto? Por ejemplo, si un proceso se ejecuta en el puerto 12345 entonces como se puede terminar en linux/ubuntu.

11voto

rayman Puntos 1949

Puede utilizar

sudo netstat -tupln

para mostrar qué está escuchando en qué puerto. Debería ver algo similar a esto (he simplificado un poco la salida).

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2472/apache2

Esa cuarta columna (0.0.0.0:80 en mi ejemplo) le mostrará el número de puerto (80 aquí) y la columna final (2472/apache2) le mostrará el PID (2472).

A continuación, puede emitir

sudo kill -15 PID

donde PID es el PID que encontramos con el comando anterior. Esto enviará SIGTERM al proceso. Si esto falla, es posible que tenga que

sudo kill -9 PID

pero generalmente es una forma menos amigable de matar el proceso. Para más información, debería consultar

man kill

0 votos

He estado buscando una solución sencilla. Esta es. Debería ser aceptada. Gracias por la gran respuesta.

1voto

HD84335 Puntos 1
  1. lista todos los puertos de escucha:

    netstat -antu

  2. Toma el correspondiente, digamos 80 y mátalo usando esto:

    kill -9 $( lsof -i:80 -t )

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: