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

Конкретный вариант использования для этого - когда я разрабатываю, например, порт 80, но при запуске моего приложения в журналах указано, что порт уже используется.

Однако, когда я проверяю, есть ли у меня другие приложения, работающие на порту 80, я не могу их найти. Так что же дает?

Выяснение причин использования порта - тема отдельной статьи. На данный момент я предполагаю, что причина, по которой вы здесь, не столько в том, почему, сколько в том, как - в частности, как вы можете быстро освободить этот порт?

Сначала найдите PID порта, который хотите убить.

Во-первых, чтобы убить что-то на вашем Mac, вам нужно узнать его идентификатор.

Этот идентификатор называется PID.

Что такое PID?

PID - это сокращение от идентификатора процесса. Каждое приложение на Mac работает с разными идентификаторами процесса.

Что за команда поиска?

Команда поиска выглядит следующим образом:

lsof -i :<portNumber>

Поэтому, если мы хотим убить любые порты, работающие на 80, мы должны запустить следующее:

lsof -i :80

В выводе будет отображаться COMMAND (по сути, удобное для пользователя имя приложения, если применимо), PID (это то, что вы захотите отметить), USER, FD, TYPE, DEVICE, SIZE/OFF, NODE и NAME.

Просто скопируйте PID в буфер обмена на этом этапе. Он понадобится нам для нашей следующей команды - kill.

Команда kill для освобождения порта

Теперь, когда PID находится в буфере обмена, вы сможете kill его. Звучит жестоко, не так ли? (Если вам интересно, вот страница руководства kill. Мне нравится, что в ней есть следующая цитата: «Любовь никогда не умирает естественной смертью. Она умирает, потому что мы не знаем, как пополнить ее источник. Она умирает от слепота, заблуждения и предательства. Он умирает от болезней и ран, он умирает от усталости, увядания, потускнения »- Анаис Нин)

Просто введите следующую команду и не забудьте заменить PID той, которую вы скопировали.

kill -9 PID

-9 просто сообщает команде kill, что вы отправляете сигнал уничтожения. И это все!