netstat -tulnap
me muestra qué puertos están en uso. ¿Cómo liberar un puerto en Linux?
netstat -tulnap
me muestra qué puertos están en uso. ¿Cómo liberar un puerto en Linux?
Respuestas:
Como han dicho los demás, deberá eliminar todos los procesos que escuchan en ese puerto. La forma más fácil de hacerlo sería utilizar el comando fuser (1). Por ejemplo, para ver todos los procesos escuchando las solicitudes http en el puerto 80 (ejecutar como root o usar sudo):
# fuser 80/tcp
Si quieres matarlos, simplemente agrega la opción -k.
sudo yum install psmisc
)
kill -9 $(fuser 80/tcp 2>/dev/null)
Para matar un puerto específico en Linux, use el siguiente comando
sudo fuser -k Port_Number/tcp
reemplace Port_Number con su puerto ocupado.
Puede usar tcpkill
(parte del dsniff
paquete) para eliminar la conexión que está en el puerto que necesita:
sudo tcpkill -9 port PORT_NUMBER
$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
En tipo de terminal:
netstat -anp|grep "port_number"
Mostrará los detalles del puerto. Ir a la última columna. Estará en este formato. Por ejemplo: - PID / java
luego ejecuta:
kill -9 PID. Worked on Centos5
Para Mac:
lsof -n -i :'port-number' | grep LISTEN
Respuesta de muestra:
java 4744 (PID) test 364u IP0 asdasdasda 0t0 TCP *:port-number (LISTEN)
y luego ejecuta:
kill -9 PID
Trabajó en Macbook
sudo netstat
ver los PID :)
El "netstat --programs"
comando le dará la información del proceso, suponiendo que sea root. Entonces tendrás que matar el proceso "ofensivo" que bien puede comenzar de nuevo solo para molestarte :-).
¿Qué estás tratando de lograr aquí? Las soluciones variarán según los procesos que contengan esos puertos.
Elimine el proceso que está escuchando el puerto en cuestión. Creo que netstat te muestra los identificadores de proceso.
Si realmente quiere matar un proceso de inmediato, le envía una señal de KILL en lugar de una señal de TERM (esta última una solicitud de detención, la primera entrará en vigencia inmediatamente sin ninguna limpieza). Es fácil de hacer:
kill -KILL <pid>
Sin embargo, tenga en cuenta que dependiendo del programa que esté deteniendo, su estado puede corromperse gravemente al hacerlo. Normalmente solo desea enviar una señal KILL cuando la terminación normal no funciona. Me pregunto cuál es el problema subyacente que intentas resolver y si matar es la solución correcta.
Creo que la única forma será detener el proceso que ha abierto el puerto.
Apagar la computadora siempre mata el proceso para mí.