Cómo encontrar el proceso que está usando un puerto

Linux

Cuando desarrollas varias aplicaciones al mismo tiempo, es habitual que ejecutes varias aplicaciones a la vez en diferentes puertos. Por ejemplo, podrías tener aplicaciones creadas con Node.js funcionando en los puertos 3000, 3001 o 8000.

Si estás trabajando en tu sistema local y usas una ventana para cada proceso, podrás ver el puerto en el que se está ejecutando una aplicación en todo momento. Sin embargo, cuando los procesos se ejecutan en tu servidor o cuando ejecutas los procesos de fondo, podrías olvidarte de los puertos asignados.

Para encontrar el puerto en el que se ejecuta una aplicación puedes usar el comando lsof. Por ejemplo, si ejecuto el siguiente comando podré encontrar al aplicación que se está ejecutando en el puerto 3000:

lsof -i :3000

Este podría ser un posible resultado del comando anterior:

COMMAND PID  USER FD    TYPE DEVICE             SIZE/OFF NODE NAME
node    8361 edu  4532u IPv4 0xc65cb20c32e85cf2 0t0      TCP  localhost:demo_app (LISTEN)

En este caso, la aplicación que se está ejecutando el puerto 3000 es la aplicación demo_app de node.

Para finalizar al ejecución de la aplicación podría usar el comando kill con el PID del proceso:

kill 8361

Si la ejecución del proceso no finaliza, usa el flag -9 con el comando kill para forzar la finalización del proceso:

kill -9 8361

Y esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”