L'agente di lancio di homebrew mosquitto ha il seguente aspetto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.mosquitto</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/mosquitto/sbin/mosquitto</string>
<string>-c</string>
<string>/usr/local/etc/mosquitto/mosquitto.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>WorkingDirectory</key>
<string>/usr/local/var/mosquitto</string>
</dict>
</plist>
A seconda della directory di installazione di mosquitto, modifica le due stringhe di percorso in ProgramArguments e il percorso della WorkingDirectory .
Modifica anche l'etichetta su org.user.mosquitto (per evitare conflitti futuri con un'installazione possibile di homebrew mosquitto) e quindi salva il file come org.user.mosquitto.plist in ~ / Library / LaunchAgents /.
Carica l'agente con launchctl load ~/Library/LaunchAgents/org.user.mosquitto.plist
.
In determinate circostanze (le opzioni make install che non hai specificato nella tua domanda) potrebbe essere necessario salvare il file plist in / Library / LaunchAgents (invece di ~ / Library / LaunchAgents), modificare i permessi su root: ruota 644 e avvialo con:
sudo launchctl load /Library/LaunchAgents/org.user.mosquitto.plist
Ora puoi testare l'installazione e assicurarti che il server funzioni correttamente. Apri una nuova finestra di comando e avvia un listener.
mosquitto_sub -t topic/state
In un'altra finestra, invia un messaggio al listener.
mosquitto_pub -t topic/state -m "Hello World"