Averiguar qué proceso escucha en un puerto
Hoy hemos tenido problemas con la configuración de Apache en un servidor, cada vez que intentábamos arracarlo nos daba un error indicando
que ya había un proceso escuchando en el puerto 80. Hemos comprobado que pudiera haber algún proceso apache que se hubiese quedado colgado pero no hemos encontrado nada.
Starting httpd: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs |
Para localizar en estos casos qué número de proceso es el que está escuchando en el puerto que necesitamos se puede utilizar la siguiente instrucción:
netstat -nlp --inet | grep -w 80 |
La primera parte de la instrucción, netstat -nlp --inet
, imprime las conexiones disponibles en formato numérico que estén escuchando (LISTEN), indicando los identificadores de proceso, e incluyendo únicamente lo que corresponda a puertos udp, tcp y raw. En caso de querer obtener tanto los sockets que estén en «listening» como los «non-listening», en vez del parámetro l
utilizaríamos a
.
Mediante el grep
de la segunda parte de la expresión filtramos la salida producida por netstat
mostrando únicamente las líneas que contengan un 80.
Los comentarios están cerrados.