當指定連接埠作為參數時如何按需啟動?

當指定連接埠作為參數時如何按需啟動?

launchd我有一個程序,我想透過運行以下命令來按需運行:

/usr/local/bin/godoc -http=:6060

該程式啟動一個偵聽指定連接埠 6060 的 HTTP 應用程式。

在我的財產清單中有

<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按需運行它?

相關內容