ホームページ >運用・保守 >Linuxの運用と保守 >Linux でポートの占有を確認する方法
Linux では、lsof および netstat コマンドを使用してポート占有率を確認できます。lsof 構文は「lsof -i:ポート番号」、netstat 構文は「netstat -tunlp | grep ポート番号」です。
推奨事項: "linux コース "
Linux ビュー ポートの占有率
Linux ビュー ポート占有ステータスは、lsof および netstat コマンドを使用して確認できます。
lsof
lsof(list open files) は、現在のシステム上で開いているファイルを一覧表示するツールです。
lsof ポート占有の確認 構文形式:
lsof -i:端口号
Example
サーバー 8000 ポート占有の確認:
# lsof -i:8000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)
8000 ポートに軽く使用されているnodejsサービスが占有されています。
lsof -i を実行するには、次に示すように root ユーザー権限が必要です。
その他の 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 -tunlp は、tcp、udp のポートとプロセス、およびその他の関連条件を表示するために使用されます。
netstat ポート占有の表示 構文形式:
netstat -tunlp | grep ポート番号
-t (tcp) tcp 関連オプションのみ表示
-u (udp) udp 関連オプションのみを表示します。
-n エイリアスの表示を拒否し、表示可能なすべての数値を数値に変換します。
-l Listen のサービス ステータスのみをリストします
-p 関連するリンクを確立するプログラムの名前を表示します。
たとえば、ポート 8000 の状況を表示するには、次のコマンドを使用します。
# netstat -tunlp | grep 8000 tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
その他のコマンド:
netstat -ntlp //查看当前所有tcp端口 netstat -ntulp | grep 80 //查看所有80端口使用情况 netstat -ntulp | grep 3306 //查看所有3306端口使用情况
kill
ポートを占有しているプロセスを見つけた後、対応するプロセスを強制終了したい場合は、kill コマンドを使用できます:
kill -9 PID
上の例に示すように、次のようになります。ポート 8000 に対応する PID が 26993 であることを確認するには、コマンド Kill process:
kill -9 26993を使用します。
以上がLinux でポートの占有を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。