ver usando usa una saber que puertos puerto proceso por ocupados liberar esta corriendo como aplicacion abiertos bash shell

bash - usando - ver puertos abiertos linux netstat



¿Cómo encontrar procesos basados en el puerto y matarlos a todos? (7)

sudo fuser -k 8080 / tcp

Una fácil de recordar.

¡Esta sintaxis es probablemente mucho más reciente que la fecha de la pregunta!

Esta pregunta ya tiene una respuesta aquí:

Encuentra procesos basados ​​en el número de puerto y mátalos a todos.

ps -efl | grep PORT_NUMBER | kill -9 process_found_previously

cómo completar la última columna?


1.) lsof -w -n -i tcp:8080

2.) kill -9 processId


El problema con ps -efl | grep PORT_NUMBER ps -efl | grep PORT_NUMBER es que PORT_NUMBER puede coincidir con otras columnas en la salida de ps también (fecha, hora, pid, ...). Una posible juerga de muerte si se ejecuta por root

Yo haría esto en su lugar:

PORT_NUMBER=1234 lsof -i tcp:${PORT_NUMBER} | awk ''NR!=1 {print $2}'' | xargs kill

Desglose de comando

  • ( lsof -i tcp:${PORT_NUMBER} ) - enumere todos los procesos que está escuchando en ese puerto tcp
  • ( awk ''NR!=1 {print $2}'' ) - ignora la primera línea, imprime la segunda columna de cada línea
  • ( xargs kill ): pasa los resultados como un argumento para kill . Puede haber varios.

Para matar a todos los procesos de escucha en un puerto en particular, por ejemplo, el puerto 8864

kill -9 $ /`lsof -i:8864 -t/`

Reemplace 8864 por el puerto que desee.


Proponer usar el comando fuser:

fuser -k -TERM -n tcp ${PORT_NUMBER}


... | awk ''{ print $4 }'' | xargs kill -9

prueba con "echo" en lugar de "kill" antes de ejecutar


kill $( lsof -i:6000 -t )

O si necesita permisos:

sudo kill $( sudo lsof -i:6000 -t )