web-dev-qa-db-ja.com

Linux:特定のポートでプロセスを強制終了

ポートが既知の場合、プロセスを強制終了する方法は?たとえば、プロセスがポート12345で実行されている場合、どのようにlinux/ubuntuで終了させることができますか。

6
user2823345

使用できます

Sudo netstat -tupln

何がどのポートでリッスンしているかを表示します。これに似たものが表示されるはずです(出力を多少簡略化しました)。

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2472/Apache2

4番目の列(この例では0.0.0.0:80)はポート番号(ここでは80)を示し、最後の列(2472/Apache2)はPID(2472)を示します。

次に発行できます

Sudo kill -15 PID

ここで、PIDは前のコマンドで見つけたPIDです。これにより、SIGTERMがプロセスに送信されます。それが失敗した場合は、

Sudo kill -9 PID

しかし、それは一般的にプロセスを殺すためのあまり友好的ではない方法です。詳細については、チェックアウトする必要があります

man kill
11
bugsduggan
  1. すべてのリスニングポートを一覧表示します。

    netstat -antu

  2. 対応するものを取り、80としましょう、これを使ってそれを殺します:

    kill -9 $(lsof -i:80 -t)

1
hd84335