在OSX上自动启动ngrok

时间:2014-12-22 21:43:38

标签: macos ngrok

我正在尝试在我的mac mini启动时自动启动ngrok。我想OSX可能有类似于ubuntu上的init-folder,你可以在其中放置你想要自动启动的脚本,但我还没有找到类似的东西。

在OSX上启动时是否无法运行命令?

1 个答案:

答案 0 :(得分:4)

您可以创建LaunchDaemon以在启动时运行ngrok(如果您想在用户登录后启动ngrok,则启动LaunchAgent)。请参阅apple docs

LaunchDaemon是plist,位于/Library/LaunchDaemons/。例如,我的LaunchDaemon(/Library/LaunchDaemons/com.ngrok.onstartup.plist)看起来像这样:

<?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>com.ngrok.onstartup</string>

    <key>Program</key>
        <string>/path/to/ngrokd</string>

    <key>KeepAlive</key>
        <true/>

</dict>
</plist>

只要它唯一标识您的守护程序,Label的选择取决于您。在此示例中,我的LaunchDaemon称为com.ngrok.onstartup

ngrokd是一个看起来像这样的bash脚本:

#!/bin/sh
/usr/local/bin/ngrok -log=/path/to/ngrok.log -config=/path/to/ngrok.yml start ssh

您可以输入以下命令检查launchd是否已启动您的守护程序:

sudo launchctl list com.ngrok.onstartup