Необходимо создать команду быстрого доступа с помощью xargs

Необходимо создать команду быстрого доступа с помощью xargs

Я всегда хочу завершить процесс, который прослушивает порт 3000. Поэтому сейчас я использую,

1.lsof -i tcp:3000

выдаст вывод как,

COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ruby    6697   xxxx   5u  IPv4 251982      0t0  TCP *:3000 (LISTEN)

и я убью PID с помощью
2.kill -9 6697

Я хочу создать программу bash, которая будет выполнять этот процесс автоматически.

Я попытался использовать xargs, чтобы получить PID вывода первой команды, но безуспешно.

решение1

Во-первых, вам нужна -tопция lsof, которая выводит только pid. Вы также можете дать kill список pid, так что:

kill -9 $(lsof -ti tcp:3000)

Если вы часто это делаете, создайте псевдоним.

alias kill3000='kill -9 $(lsof -ti tcp:3000)'

решение2

Вот он (без xargs):

lsof -i tcp:8080 | while read cmd pid rest; do ((pid)) && kill -9 $pid; done

Связанный контент