【发布时间】:2017-02-27 20:05:18
【问题描述】:
我创建了一个小守护进程,它使用 forever 将我的 nodejs API 作为服务启动。
现在服务启动和停止没有任何问题,我想让它在树莓派打开时启动。我的树莓派正在Raspbian 上运行。
我已将服务放在/etc/init.d/ 文件夹中并执行了update-rc.d myServiceName defaults,但启动后它并没有启动服务...
你能帮帮我吗?有脚本:
#!/bin/sh
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
case "$1" in
start)
exec forever --spinSleepTime 10000 --sourceDir=/var/domothink -p /var/run/forever start dist/server.js
;;
stop)
exec forever stop --sourceDir=/var/domothink dist/server.js
;;
status)
# TODO
;;
default)
# TODO
;;
esac
exit 0
【问题讨论】:
-
请注意,init 可能没有与您帐户相同的 $PATH,因此它可能找不到
forever。这就是为什么人们倾向于将绝对路径放在初始化脚本中的原因。试试/whatever/path/to/forever而不是forever -
但是当我手动启动服务时,它运行良好。没有绝对路径。我会试试你的解决方案,把绝对路径。
标签: node.js linux bash debian daemon