Как убить процесс с помощью порта в MacOS, а-ля fuser -k 9000 / tcp


14

В Linux я могу убить процесс, зная только порт, который он прослушивает fuser -k 9000/tcp, как мне сделать то же самое в MacOS?

Ответы:


19
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9

Измените PortNumberна фактический порт, который вы хотите найти.


2
Я просто должен был добавить -9к концу, чтобы заставить это работать, но я полагаю, что это связано с характером приложения для прослушивания и вообще не рекомендуемой практикой kill -9.
Крис

@Kris - lsof -P | grep ': NumberOfPort' | awk '{print $ 2}' | xargs kill -9 сработало!
тузы.

11

Добавление флагов -t и -i к lsof должно еще больше ускорить его, устраняя необходимость в grep и awk.

lsof -nti:NumberOfPort | xargs kill -9

2
Работает и лаконичнее принятого ответа!
Большой Богатый

1
ПУТЬ быстрее с этим подходом
daleyjem

2

Добавьте -n к lsof, и вы удалите обратный поиск DNS из команды и сократите время выполнения с минут до секунд.

lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9

1
  1. Проверьте ваш порт открыт или нет

sudo lsof -i: {PORT_NUMBER}

COMMAND PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    582 Thirumal  300u  IPv6 0xf91b63da8f10f8b7      0t0  TCP *:distinct (LISTEN)

2. Закройте порт, убив PID процесса

sudo kill -9 582

1

Вы можете увидеть, если порт, если открыт по этой команде

 sudo lsof -i :8000

где 8000 - номер порта

Если порт открыт, он должен вернуть строку, содержащую идентификатор процесса (PID).

Скопируйте этот PID и

kill -9 PID

Если вам нужно увидеть все открытые порты, вы можете выполнить сканирование портов в приложении Network Utility.


0

Вы можете использовать kill -9 $(lsof -i:PORT -t) 2> /dev/null, где PORT - ваш фактический номер порта. Это убьет процесс, который выполняется на вашем данном порту.


Вы повторяете другой ответ
Ясс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.