#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
-это просто короткая рука для привязки ко всем интерфейсам, но она все равно будет зависеть от того, какие номера портов вы используете.