当指定端口作为参数时,如何按需启动?

当指定端口作为参数时,如何按需启动?

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

相关内容