Pour afficher l'occupation des ports sous Linux, vous pouvez utiliser la commandelsofetnetstat.
lsof
lsof (liste les fichiers ouverts) est un outil qui répertorie les fichiers ouverts sur le système actuel.
Syntaxe de lsof pour vérifier l'occupation des ports :
lsof -i:端口号
Exemple
Vérifiez l'occupation du port 8000 sur le serveur :
# lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)
On peut voir que le port 8000 est déjà occupé par un service nodejs léger.
lsof -i nécessite les privilèges de l'utilisateur root pour être exécuté, comme indiqué ci-dessous :

D'autres commandes lsof sont les suivantes :
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 -tunlpUtilisé pour afficher des informations associées telles que les ports TCP, UDP et les processus.
Syntaxe de netstat pour vérifier l'occupation des ports :
netstat -tunlp | grep 端口号
- -t (tcp) afficher uniquement les options liées à tcp
- -u (udp) n'afficher que les options liées à udp
- -n refuser d'afficher les alias, convertir en nombre tout ce qui peut être affiché sous forme de nombre
- -l lister uniquement les services à l'état Listen (en écoute)
- -p afficher le nom du programme qui a établi la connexion associée
# netstat -tunlp | grep 8000 tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
Plus de commandes :
netstat -ntlp //查看当前所有tcp端口 netstat -ntulp | grep 80 //查看所有80端口使用情况 netstat -ntulp | grep 3306 //查看所有3306端口使用情况
kill
Après avoir trouvé le processus qui occupe le port, si vous souhaitez tuer le processus, vous pouvez utiliser la commande kill :
kill -9 PID
Dans l'exemple ci-dessus, nous pouvons voir que le PID correspondant au port 8000 est 26993. Utilisez la commande suivante pour tuer le processus :
kill -9 26993