ポートが既知の場合、プロセスを強制終了する方法は?たとえば、プロセスがポート12345
で実行されている場合、どのようにlinux/ubuntuで終了させることができますか。
使用できます
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
すべてのリスニングポートを一覧表示します。
netstat -antu
対応するものを取り、80としましょう、これを使ってそれを殺します:
kill -9 $(lsof -i:80 -t)