この記事では、Linuxにおいて特定のポートを使用しているプロセスを確認する方法について詳しく解説します。`netstat`や`lsof`などのコマンドを用いて、具体的なコード例とその解説、さらに応用例を含めてご紹介します。
目次
基本的なコマンド
### `netstat` コマンドを使う
`netstat`は、ネットワークの状態を確認するためのコマンドです。
sudo netstat -tuln # TCP/UDPのリスニングポートを表示
このコマンドで特定のポートが使われているかどうか、そのプロセスIDを調べることができます。
`lsof` コマンドを使う
`lsof`コマンドは、オープンされたファイルやプロセスに関する情報を表示します。
sudo lsof -i :80 # ポート80を使用しているプロセスを確認
`lsof`コマンドはより詳細な情報を提供します。例えば、実行ユーザーやプロセスID、使用しているポートなどがわかります。
応用例
応用例1: 複数のポートを確認
sudo lsof -i :80,443 # ポート80と443を使用しているプロセスを確認
複数のポートを一度に確認したい場合は、カンマで区切って指定します。
応用例2: プロトコル指定
sudo lsof -i tcp:80 # TCPプロトコルでポート80を使用しているプロセスを確認
`tcp`や`udp`といったプロトコルを明示的に指定することも可能です。
応用例3: PIDでプロセスをキル
sudo kill -9 [PID] # 特定のPIDのプロセスを強制終了
`lsof`や`netstat`で取得したプロセスIDを用いて、特定のプロセスを終了することができます。
応用例4: 結果をテキストファイルに保存
sudo netstat -tuln > output.txt # 結果をテキストファイルに保存
調査結果を保存して後で確認する場合に便利です。
応用例5: 特定のプロセス名でフィルタ
sudo lsof -c nginx # nginxプロセスが使用しているポートを確認
特定のプロセス名でポート使用状況をフィルタリングすることも可能です。
まとめ
Linuxで特定のポートを使用しているプロセスを確認する手段は多数ありますが、`netstat`や`lsof`コマンドが非常に便利です。これらの基本的な使用方法と応用例を知っておくと、システムのトラブルシューティングが格段に容易になります。
コメント