Linux: para verificar el uso de puertos, se puede usar ellsofynetstatcomando.


lsof

lsof (list open files) es una herramienta que lista los archivos abiertos actualmente en el sistema.

Sintaxis de lsof para verificar el uso de puertos:

lsof -i:端口号

Ejemplo

Verificar el uso del puerto 8000 en el servidor:

# lsof -i:8000
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
nodejs  26993 root   10u  IPv4 37999514      0t0  TCP *:8000 (LISTEN)

Se puede ver que el puerto 8000 ya está ocupado por el servicio nodejs.

lsof -i requiere permisos de usuario root para ejecutarse, como se muestra a continuación:

Más comandos de lsof:

lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件

netstat

netstat -tunlpSe utiliza para mostrar información relacionada, como los puertos y procesos de tcp y udp.

Sintaxis de netstat para verificar el uso de puertos:

netstat -tunlp | grep 端口号
  • -t (tcp) muestra solo las opciones relacionadas con tcp
  • -u (udp) muestra solo las opciones relacionadas con udp
  • -n no muestra alias, convierte en números todo lo que pueda mostrarse como número
  • -l solo muestra el estado de los servicios en Listen (escucha)
  • -p muestra el nombre del programa que establece las conexiones relacionadas
Por ejemplo, para verificar el estado del puerto 8000, use el siguiente comando:
# netstat -tunlp | grep 8000
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      26993/nodejs   

Más comandos:

netstat -ntlp   //查看当前所有tcp端口
netstat -ntulp | grep 80   //查看所有80端口使用情况
netstat -ntulp | grep 3306   //查看所有3306端口使用情况

kill

Después de encontrar el proceso que ocupa el puerto, si desea eliminarlo, puede usar el comando kill:

kill -9 PID

Como en el ejemplo anterior, vemos que el PID correspondiente al puerto 8000 es 26993. Use el siguiente comando para eliminar el proceso:

kill -9 26993