特定のポートでリスニングしているプロセスの一覧を取得する方法


  1. コマンドラインを使用する方法:

    • Windowsの場合:

      • netstatコマンドを使用します。以下は、ポート番号が8080のプロセスを表示する例です。
        netstat -ano | findstr :8080
      • PID列に表示されるプロセスIDを使用して、該当するプロセスを特定できます。
      • tasklistコマンドを使用して、プロセス名を取得することもできます。
        tasklist /FI "PID eq <プロセスID>"
    • Linuxの場合:

      • lsofコマンドを使用します。以下は、ポート番号が8080のプロセスを表示する例です。
        sudo lsof -i :8080
      • COMMAND列に表示されるプロセス名とPID列に表示されるプロセスIDを使用して、該当するプロセスを特定できます。
  2. プログラミング言語を使用する方法:

    • Pythonの場合:
      • psutilライブラリを使用すると、特定のポートでリスニングしているプロセスを取得できます。以下は、ポート番号が8080のプロセスを取得する例です。
        import psutil
        for conn in psutil.net_connections():
        if conn.status == 'LISTEN' and conn.laddr.port == 8080:
           process = psutil.Process(conn.pid)
           print(f"Process Name: {process.name()}")
           print(f"Process ID: {process.pid}")
      • 上記のコードは、psutilライブラリをインストールする必要があります。インストール方法については、公式ドキュメントを参照してください。

これらの方法を使用すると、特定のポートでリスニングしているプロセスを取得できます。適切な方法を選択し、環境に応じてコードを実行してください。