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
# 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