Como dice el título, estoy corriendo múltiples servidores de juego, y cada uno de ellos tiene el mismo namepero diferente PIDy el portnúmero. Me gustaría hacer coincidir el PIDdel servidor que está escuchando en cierto puerto, y luego me gustaría matar este proceso. Lo necesito para completar mi script bash.
¿Es eso siquiera posible? Porque todavía no encontró ninguna solución en la web.

netstat: 80: unknown or uninstrumented protocolusó el80puerto (nginx) para probar propósitos. No funcionó.netstat -nlp | grep :80lugarnetstat: option requires an argument -- pnetstatse llama al nativo de Windows . Tiene otra sintaxis.Versión corta que puede pasar al comando kill:
fuente
lsof -i4TCP:80 -sTCP:LISTEN -tes probablemente lo que quieres.kill -9 `lsof -i:80 -t`para facilitar la copianetstat -p -l | grep $PORTy laslsof -i :$PORTsoluciones son buenas, pero prefiero lafuser $PORT/tcpsintaxis de extensión a POSIX (que funciona paracoreutils) como con la tubería:imprime pid puro para que puedas dejar la
sedmagia.Una cosa que hace que
fusermis herramientas favoritas es la capacidad de enviar señales a ese proceso directamente (esta sintaxis también es una extensión de POSIX):También -k es compatible con FreeBSD: http://www.freebsd.org/cgi/man.cgi?query=fuser
fuente
netstat -nlpdebería decirle el PID de lo que está escuchando en qué puerto.fuente
netstat: 80: unknown or uninstrumented protocolusó el80puerto (nginx) para probar propósitos. No funcionó.Como sockstat no se instaló de forma nativa en mi máquina, pirateé la respuesta de stanwise para usar netstat en su lugar.
fuente
Quería programar , usando solo Bash, matar el proceso de escucha en un puerto determinado.
Digamos que el puerto es 8089, entonces así es como lo hice:
¡Espero que esto ayude a alguien más! Sé que ayudará a mi equipo.
fuente
function kill-listener { lsof -i:$1 -t | xargs kill -9 }Usando su ejemplo del puerto 8089:kill-listener 8089Sintaxis:
Ejemplo: para detener el proceso que se ejecuta en el puerto 4200, ejecute el siguiente comando
Probado en Ubuntu.
fuente
en Windows, la opción netstat para obtener el pid es -o y -p selecciona un filtro de protocolo, por ejemplo: netstat -a -p tcp -o
fuente