特定ポートのプロセスをkillする(Linux, Mac)


kill `lsof -ti tcp:40000` # 40000の部分は適宜変えること

これでポート40000のプロセスをkillできます。

必ずポートxxx番で動くプロセスがあるんだけど、PIDがころころ変わってkillし辛い。killallするにも他の同名プロセスは殺したく無い・・・という場合に使えるかと思います。

自分の場合はssh tunnelで任意のポートでマッピングを作成するときにこれを使いました。

killallすると全部のsshプロセスが死ぬのでやりたく無いし、とはいえトンネル作った後でなぜかPIDが上手く取れなかったり・・など。「トンネルは必ずポート40000で作る」みたいなshell scriptを書いてたのでlsofがいい感じでした。