TL; DR:
lsof -ti tcp:3000 -sTCP:LISTEN | xargs kill
Если вы находитесь в ситуации, когда порт используют как клиенты, так и серверы, например:
$ lsof -i tcp:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 2043 benjiegillam 21u IPv4 0xb1b4330c68e5ad61 0t0 TCP localhost:3000->localhost:52557 (ESTABLISHED)
node 2043 benjiegillam 22u IPv4 0xb1b4330c8d393021 0t0 TCP localhost:3000->localhost:52344 (ESTABLISHED)
node 2043 benjiegillam 25u IPv4 0xb1b4330c8eaf16c1 0t0 TCP localhost:3000 (LISTEN)
Google 99004 benjiegillam 125u IPv4 0xb1b4330c8bb05021 0t0 TCP localhost:52557->localhost:3000 (ESTABLISHED)
Google 99004 benjiegillam 216u IPv4 0xb1b4330c8e5ea6c1 0t0 TCP localhost:52344->localhost:3000 (ESTABLISHED)
, то вы, вероятно, нене хочется убивать обоих.
В этой ситуации вы можете использовать -sTCP:LISTEN
, чтобы показать только pid процессов, которые слушают.Комбинируя это с кратким форматом -t
, вы можете автоматически завершить процесс:
lsof -ti tcp:3000 -sTCP:LISTEN | xargs kill