首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tiddlywiki服务的rc.d脚本不起作用

tiddlywiki服务的rc.d脚本不起作用
EN

Stack Overflow用户
提问于 2014-12-18 22:46:15
回答 1查看 232关注 0票数 0

我正在尝试让Tiddlywiki在(基于NAS4FEE主机的) FreeBSD监狱中工作。下面的start_postcmd和PID文件函数的rc.d脚本不起作用。

对于为什么会出现这种情况,有人有什么建议吗?

代码语言:javascript
复制
#! /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"
EN

回答 1

Stack Overflow用户

发布于 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中随机选择

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27549177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档