ポート上で実行中のプロセスを取得する方法


まず、ポート上で実行中のプロセスを取得するためには、次の手順を実行します。

  1. コマンドラインを開きます。Windowsの場合は「コマンドプロンプト」、MacやLinuxの場合は「ターミナル」を使用します。

  2. 使用しているオペレーティングシステムに応じて、以下のコマンドを入力します。

    • Windows:

      netstat -ano | findstr :ポート番号
    • Mac/Linux:

      sudo lsof -i :ポート番号

    上記のコマンドでは、ポート番号の部分に特定のポート番号を入力します。これにより、指定したポート上で実行中のプロセスが表示されます。

また、プログラミング言語を使用してプロセスを取得する方法もあります。以下にPythonの例を示します。

import psutil
def get_processes_by_port(port):
    processes = []
    for proc in psutil.process_iter(['pid', 'name']):
        try:
            connections = proc.connections()
            for conn in connections:
                if conn.laddr.port == port:
                    processes.append(proc)
                    break
        except (psutil.AccessDenied, psutil.NoSuchProcess):
            continue
    return processes
port_number = 8080
processes = get_processes_by_port(port_number)
for proc in processes:
    print("PID:", proc.pid)
    print("Name:", proc.name())
    print("Command line:", proc.cmdline())
    print()

上記のコードでは、psutilライブラリを使用してポート上で実行中のプロセスを取得しています。指定したポート番号に関連するプロセスのPID、名前、コマンドラインなどの情報を表示します。

以上が、ポート上で実行中のプロセスを取得するためのシンプルで簡単な方法といくつかのコード例です。これを参考にして、必要に応じてカスタマイズや拡張を行ってください。