Ich habe ein Programm, das ich bei Bedarf launchd
mit dem folgenden Befehl ausführen möchte:
/usr/local/bin/godoc -http=:6060
Dieses Programm startet eine HTTP-App, die auf dem angegebenen Port 6060 lauscht.
In meiner Immobilienliste habe ich
<key>Sockets</key>
<dict>
<key>default</key>
<dict>
<key>SockNodeName</key>
<string>localhost</string>
<key>SockServiceName</key>
<integer>6060</integer>
<key>SockPassive</key>
<true/>
</dict>
</dict>
Wenn ich den Daemon starte, lautet die Ausgabe der Anwendung an stderr jedoch:
ListenAndServe :6060: listen tcp :6060: bind: address already in use
Meines Wissens nach launchd
wird der Socket erstellt und an die App übergeben, aber diese App versucht, den Socket erneut zu erstellen, sodass dies fehlschlägt.
Welche Möglichkeiten habe ich, dies bei launchd
Bedarf auszuführen?