特定のポートでLISTENしているプロセスのPIDを取得する
方法
以下は8080でLISTENしているプロセスIDを得る。
code:bash
lsof -t -i:8080 -sTCP:LISTEN
kill $(lsof -t -i:8080 -sTCP:LISTEN)でkillできるように-tでPIDだけが出力される。
おまけ: 検証方法
以下のようにサーバーとクライアントを立てて、lsof -i:8080と比較して本当にLISTENのポートのPIDが上記で取得できているか検証した。
code:bash
socat TCP-LISTEN:8080,fork -
code:bash
nc localhost 8080