💻 Завершение процесса, блокирующего порт на macOS

Как завершить процесс на Mac

by itisgood

Приходилось ли вам сталкиваться с ситуацией, когда вы пытаетесь запустить сервер или службу на своем Mac, а вам говорят, что порт уже используется?

Эта распространенная проблема возникает, когда порт, который вы пытаетесь использовать, занят другим процессом.

В этом руководстве мы расскажем вам, как определить и завершить эти процессы на macOS, чтобы ваши порты были свободны для использования.

Необходимые условия

  • Mac под управлением macOS
  • Базовые навыки работы с приложением Terminal
  • Административный доступ к компьютеру (если требуется)

Шаг 1: Открытие Терминала

Приложение Terminal можно найти в папке Utilities в каталоге Applications.

Также можно воспользоваться Spotlight (Cmd + Пробел) и набрать “Terminal”.

Шаг 2: Поиск блокирующего процесса

  • Определите порт: Сначала определите номер порта, с которым у вас возникли проблемы. Допустим, это порт 8080.
  • Используйте команду lsof: В терминале введите следующую команду и нажмите Enter
sudo lsof -i :8080 
  • `sudo` используется для выполнения команд с правами администратора.
  • `lsof` расшифровывается как “list open files” и представляет собой команду для перечисления файлов, открытых процессами.
  • `-i :8080` фильтрует результаты, чтобы показать только процессы, использующие порт 8080.

Интерпретация результатов: Команда выводит список процессов, использующих указанный порт.

Ищите записи в столбцах COMMAND, PID (идентификатор процесса) и USER.

Шаг 3: Завершение процесса

Выберите нужный процесс: Определите процесс, который вы хотите завершить.

Будьте осторожны, так как завершение системных процессов может вызвать проблемы со стабильностью.

Завершите процесс с помощью команды kill: Используйте команду kill, за которой следует PID процесса.

Например, если PID равен 1234, вы используете команду kill:

sudo kill 1234 

Если процесс не завершается, используйте kill -9, за которым следует PID, что заставит процесс остановиться.

sudo kill -9 1234 

Шаг 4: Убедитесь, что порт свободен

Проверьте порт еще раз: Снова используйте команду lsof, чтобы убедиться, что порт свободен:

sudo lsof -i :8080 

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

Заключение

Вы успешно научились определять и завершать процессы, блокирующие порты в macOS.

Этот навык неоценим для устранения проблем, связанных с сетью, и обеспечения бесперебойной работы ваших служб.

Дополнительные советы

  • Будьте осторожны: всегда перепроверяйте, прежде чем завершить процесс, чтобы случайно не остановить критические функции системы.
  • Альтернативные команды: Для более продвинутого управления изучите команды netstat и nmap для получения дополнительных сведений о сети.

см. также:

 

You may also like

Leave a Comment