Cómo saber qué proceso usa un puerto en Linux

Cuando un servicio no arranca porque el puerto está ocupado, necesitas saber qué proceso lo usa. En Linux hay tres comandos clave.

Con ss (moderno)

sudo ss -tulpn | grep :80

Muestra qué proceso (PID y nombre) escucha en ese puerto. Las opciones: t TCP, u UDP, l escuchando, p proceso, n numérico.

Con lsof

sudo lsof -i :80

Lista el proceso que usa el puerto 80, con su PID y usuario.

Con netstat (clásico)

sudo netstat -tulpn | grep :80

Liberar el puerto

Una vez tienes el PID, puedes cerrar el proceso con kill (con cuidado de no matar un servicio necesario).

Preguntas frecuentes

«Address already in use», ¿qué hago?

Busca el proceso con ss -tulpn o lsof -i :puerto y decide si detenerlo o usar otro puerto.

¿lsof o netstat no están?

Instálalos (sudo apt install lsof net-tools) o usa ss, que suele venir por defecto.