ホームページ >運用・保守 >Linuxの運用と保守 >Linux でポートの占有を確認する方法

Linux でポートの占有を確認する方法

藏色散人
藏色散人オリジナル
2020-10-13 17:30:1565471ブラウズ

Linux では、lsof および netstat コマンドを使用してポート占有率を確認できます。lsof 構文は「lsof -i:ポート番号」、netstat 構文は「netstat -tunlp | grep ポート番号」です。

Linux でポートの占有を確認する方法

推奨事項: "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 ユーザー権限が必要です。

Linux でポートの占有を確認する方法

その他の 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。