我使用了一个非常简单的upstart脚本来启动ngrok隧道。
说明"我的服务说明"
从运行级别开始[2345]
在运行级别停止[016]
重生
exec / home / ubuntu / ngrok http 8081
我能够启动它,我可以看到流程正在运行:
ubuntu@ubuntu:/etc/init$ ps -ef | grep ngrok
root 27768 1 2 01:56 ? 00:00:04 /home/ubuntu/ngrok http 8081
ubuntu 27809 2688 0 01:59 pts/0 00:00:00 grep --color=auto ngrok
我可以停止进程。
但是ngrok命令没有创建它应该的隧道。 如果我在命令行上使用相应的语法运行它没有问题。
我是否错误地使用了 exec节? 有什么想法吗?
谢谢
更新
我已经能够使用以下解决方案解决问题(上下文,我正在使用ngrok的免费帐户)
Upstart init文件:
description" Ngrok upstart init file"
作者" lps"
从运行级别开始[2345]
停在运行级别[!2345]
重生
脚本
睡觉20
exec / usr / bin / ngrok http 8081 -log = / home / ubuntu / ngrok.log -log-level = debug -authtoken = **************************结束脚本
但是我仍然无法理解为什么以下的upstart init文件无法做到这一点:
description" Ngrok upstart init file"
作者" lps"
从运行级别开始[2345]
停在运行级别[!2345]
重生
脚本
睡觉20
exec / usr / bin / ngrok http 8081
结束脚本
在第二个文件中,我的配置文件ngrok.yml位于/home/ubuntu/.ngrok2/文件夹中。我会留下ngrok.yml文件以防万一有人想放手一搏(我将此路径中的所有文件和目录更改为chmod 777,只是为了确保它不是权限问题)。
ngrok.yml
authtoken:**************************
log:/home/ubuntu/ngrok.log
log-level:debug