我正在尝试让Tiddlywiki在(基于NAS4FEE主机的) FreeBSD监狱中工作。下面的start_postcmd和PID文件函数的rc.d脚本不起作用。
对于为什么会出现这种情况,有人有什么建议吗?
#! /bin/sh
#
#
# PROVIDE: tiddliwiki
# REQUIRE: NETWORKING
# REQUIRE: DAEMON bgfsck
# KEYWORD: shutdown
. /etc/rc.subr
name="tiddlywiki"
rcvar="tiddlywiki_enable"
#start_cmd="tiddlywiki_start"
#stop_cmd="tiddlywiki_stop"
pidfile="/var/run/${name}.pid"
start_cmd="/usr/local/bin/node /usr/local/bin/tiddlywiki gosh --server 80 &"
# needed to set pid manualy as the rc.subr pid pid didn't work
start_postcmd="sleep 5 ; ps aux | grep -i 'gosh --server 80' | awk 'NR<2 {print $2}' > /var/run/${name}.pid"
stop_cmd="cat /var/run/${name}.pid | xargs kill -9"
load_rc_config $name
run_rc_command "$1"发布于 2014-12-19 11:23:22
根据发生相同事情的丰富经验,快速列出可能的原因:
start_postcmd可能无法捕获/抓取PID,因为该进程实际上未运行。端口是否已被占用?你能从start_postcmd启动tiddlywiki吗?start_postcmd可能不能正确地捕捉/抓取PID,因为命令行很长并且已经包装在进程列表中。尝试添加w并从外壳测试它几次:ps auxww | grep -i 'gosh --server 80' | awk 'NR<2 {print $2}'使用像forever这样的节点工具可能会更好。只需做一点工作,您就可以创建一个start_cmd。还有其他几种类似的工具,从简单的,到近乎核电厂准备就绪的。从http://www.npmjs.org中随机选择
祝好运。
https://stackoverflow.com/questions/27549177
复制相似问题