Как остановить службу Mosquitto, работающую под управлением macOS Big Sur

#macos #service #mosquitto

Вопрос:

Под macOS Big Sur я запустил брокерскую службу Mosquitto из командной строки:

 /usr/local/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf
 

Теперь я хотел бы изменить mosquito.conf файл и проверить наличие изменений.

Моя проблема в том, что если я снова выполню ту же команду, я получу следующие сообщения о состоянии:

 1615884201: mosquitto version 2.0.9 starting
1615884201: Config loaded from /usr/local/etc/mosquitto/mosquitto.conf.
1615884201: Opening ipv6 listen socket on port 1883.
1615884201: Opening ipv4 listen socket on port 1883.
1615884201: Opening ipv4 listen socket on port 1883.
1615884201: Error: Address already in use
 

Кроме того, я не вижу никакой службы москитов (например, by ps aux | grep mosquitto ).

Где скрыт этот процесс и как его остановить?

Комментарии:

1. Я обнаружил проблему: ошибка «Адрес уже используется» не была вызвана процессом, запущенным в фоновом режиме. Причиной этого было то, что я использовал bind_address 0.0.0.0 в своем mosquitto.conf , который использовался в другом месте. При изменении этого адреса на ip-адрес моей машины процесс mosquitto запускается и отображается в списке процессов.

Ответ №1:

Вы выбираете терминал, в котором работает mosquitto, а затем нажимаете и удерживаете нажатой controlклавишу во время нажатия c.

Если вам удалось запустить mosquitto в фоновом режиме, вы можете использовать ps его для поиска идентификатора процесса, а затем использовать kill <pid> для остановки брокера.

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

Привязка к 0.0.0.0 -это просто короткая рука для привязки ко всем интерфейсам, но она все равно будет зависеть от того, какие номера портов вы используете.