В Linux я могу убить процесс, зная только порт, который он прослушивает, используя fuser -k 9000/tcp
, как мне сделать то же самое в MacOS?
5 ответов
17
lsof -P | grep ':PortNumber' | awk '{print $2}' | xargs kill -9
Измените PortNumber
на фактический порт, который вы хотите найти.
7
Добавление флагов -t и -i к lsof должно еще больше ускорить его, устраняя необходимость в grep и awk.
lsof -nti:NumberOfPort | xargs kill -9
2
Добавьте -n к lsof, и вы удалите обратный поиск DNS из команды и сократите время выполнения с минут до секунд.
lsof -Pn | grep ':NumberOfPort' | awk '{print $2}' | xargs kill -9
0
Вы можете использовать kill -9 $(lsof -i:PORT -t) 2> /dev/null
, где PORT - ваш фактический номер порта. Это убьет процесс, который выполняется на вашем заданном порту.
0
- Проверьте ваш порт открыт или нет
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