Entiendo que al usar homebrew, se proporcionará un archivo plist y un usuario puede usar launchctl para instalar ese archivo plist.
Pero no estoy usando homebrew (ni macport). Creé binarios de Mosquitto directamente desde la distribución de fuentes de Mosquitto y me gustaría poder iniciar Mosquitto Broker automáticamente (al igual que otros demonios).
El agente de lanzamiento de mosquitos homebrew se ve así:
<?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>
Dependiendo de su directorio de instalación de mosquitto, modifique las dos cadenas de ruta en ProgramArguments y la ruta de WorkingDirectory .
También modifique la etiqueta a org.user.mosquitto (para evitar futuros conflictos con una posible instalación casera de mosquitto) y luego guarde el archivo como org.user.mosquitto.plist en ~/Library/LaunchAgents/.
Cargue el agente con launchctl load ~/Library/LaunchAgents/org.user.mosquitto.plist
.
En determinadas circunstancias (las opciones de instalación que no especificó en su pregunta), puede ser necesario guardar el archivo plist en /Library/LaunchAgents (en lugar de ~/Library/LaunchAgents), modificar los permisos para root:wheel 644 y empezar con:
sudo launchctl load /Library/LaunchAgents/org.user.mosquitto.plist
Ahora puede probar la instalación y asegurarse de que el servidor se está ejecutando correctamente. Abra una nueva ventana de comando e inicie un oyente.
mosquitto_sub -t topic/state
En otra ventana, envíe un mensaje al oyente.
mosquitto_pub -t topic/state -m "Hello World"
tdwong.estrella
launchctl list | grep mosquitto
y revisé el primer campo (debe ser un pid válido) para ver si el mosquitto broker se inició con éxito.klanomath
tdwong.estrella