Open2

【Linuxコマンド】使用済みのポートを確認する & 使用済みのポートを停止する方法について📝

まさぴょん🐱まさぴょん🐱

使用済みポートを確認する

使用中のポートを確認するには、ターミナルで以下のコマンドを使用します。

  1. lsofコマンドを使用する方法

    sudo lsof -i -P | grep LISTEN
    
    • lsof:システム上の開いているファイルを一覧表示します。
    • -i:ネットワーク関連のファイルを表示します。
    • -P:ポート番号を表示します(サービス名ではなく数値で)。
    • grep LISTEN:リッスン状態のポートのみを表示します。
  2. netstatコマンドを使用する方法

    netstat -vanp tcp | grep LISTEN
    
    • netstat:ネットワークの接続状況を表示します。
    • -v:詳細情報を表示します。
    • -a:すべてのソケットを表示します。
    • -n:アドレスとポート番号を数値で表示します。
    • -p tcp:TCPプロトコルの情報を表示します。
    • grep LISTEN:リッスン状態のポートのみを表示します。
  3. 特定のポートやプロセスを確認する方法

    特定のポートが使用されているか確認したい場合:

    sudo lsof -i :ポート番号
    

    例:ポート8080を確認する場合

    sudo lsof -i :8080
    

    特定のプロセスが使用しているポートを確認したい場合:

    sudo lsof -i -n -P | grep プロセス名
    

    例:javaプロセスを確認する場合

    sudo lsof -i -n -P | grep java
    

注意点:

  • sudoを使用するため、パスワードの入力が求められる場合があります。
  • コマンドの実行結果はシステムの状態によって異なります。
  • 不明なプロセスがポートを使用している場合、セキュリティの観点から確認をおすすめします。

これらのコマンドを使用することで、現在使用中のすべてのポートや、それらを使用しているプロセスを確認できます。

まさぴょん🐱まさぴょん🐱

使用済みのPortを停止する方法📝

lsof -i -P | grep LISTEN コマンドで特定のポートがLISTEN状態にあるプロセスを特定した後、そのポートのLISTENを止めるには、該当するプロセスを終了する必要があります。
以下に手順を説明します。

1. ポートを特定する

まず、lsof -i -P | grep LISTEN を実行して、停止したいポートを確認します。出力例は以下のようになります:

sshd    1234  root    3u  IPv4  12345  0t0  TCP *:22 (LISTEN)
nginx   5678  nginx   4u  IPv4  67890  0t0  TCP *:80 (LISTEN)

この例では、ポート 22(sshd)やポート 80(nginx)がLISTEN状態です。停止したいポート(例: ポート 80)をメモします。

2. プロセスID(PID)を確認する

上記の出力で、該当ポートに関連するプロセスID(PID)を確認します。たとえば、ポート 80 を使っているプロセスのPIDは 5678 です。

もし複数のプロセスが同じポートを使っている場合、それぞれのPIDを確認してください。

3. kill コマンドでプロセスを終了する

ポートを解放するには、該当するプロセスを終了します。以下の方法でプロセスを終了できます:

プロセスを安全に終了するには、まず SIGTERM シグナルを送ります:

kill -15 <PID>

例: PID 5678 を終了する場合:

kill -15 5678

プロセスが終了しない場合は、強制終了(SIGKILL)を使います:

kill -9 <PID>

例:

kill -9 5678