У меня есть программа, которую я хочу запускать по требованию, launchd
выполнив следующую команду:
/usr/local/bin/godoc -http=:6060
Эта программа запускает HTTP-приложение, которое прослушивает назначенный порт 6060.
В моем списке имущества есть
<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>
Однако при запуске демона вывод приложения в stderr следующий:
ListenAndServe :6060: listen tcp :6060: bind: address already in use
Насколько я понимаю, launchd
создает сокет и передает его приложению, но это приложение пытается создать сокет снова, поэтому ему это не удается.
Какие у меня есть варианты запуска этого по launchd
требованию?