どのプロセスがポートを占有しているか、Linuxで確認する方法は何ですか?
Linux上では、どのプロセスがポートを使用しているかを確認するために、次のコマンドを使用できます。
- netstatコマンドを使う。
netstat -tlnp | grep <端口号>
-tlnpオプションは、すべてのTCPおよびUDPのリスニングポートを表示するために使用され、grepコマンドは特定のポートの行をフィルタリングするために使用されます。出力結果には、関連するプロセスID(PID)が表示されます。
- lsofコマンドを利用する:
sudo lsof -i :<端口号>
-iオプションはネットワーク関連のファイルを表示するために使用され、:の後にポート番号を指定します。このコマンドを実行するには、sudoコマンドを使用してルート権限で実行する必要があります。出力結果には、関連するプロセスID(PID)が表示されます。
- ssコマンドを使用:
ss -ltnp | grep <端口号>
-ltnpオプションは、TCPのリッスンポートを表示するために使用され、grepコマンドは特定のポートの行をフィルタリングするために使用されます。出力結果には、関連するプロセスID(PID)が表示されます。
上記の命令では、関連するプロセスID(PID)が表示されます。PIDを使用して、そのプロセスに関する詳細情報をさらに検索することができます。例えば、psコマンドを使用します。
ps -p <进程ID> -f
指定されたプロセスIDの詳細情報が表示されます。この情報には、プロセスのコマンドライン引数なども含まれます。