【发布时间】:2015-04-27 11:01:19
【问题描述】:
我正在尝试在 ubuntu 上启动 statsD,但遇到了问题。
如果我启动它,它会起作用,但会阻止厨师继续,但它会起作用并显示在石墨中。
如果我这样启动它(或使用其他方法让它在后台启动):
(/usr/bin/node /opt/statsd/stats.js /opt/statsd/localConfig.js) &
它不会阻止 chef,但石墨中没有任何显示,但我知道它仍在运行,因为
ps aux | grep stat
显示命令正在运行(不包括 grep 命令)。
我尝试使用 forever.js 来实现,但 npm 只报告有 failed to fetch from registry: forever
编辑:
好的,我设法让它开始使用
nohup /usr/bin/node /opt/statsd/stats.js /opt/statsd/localConfig.js
这会启动 statsD(很好)并且它不会阻止厨师(也很好)但是当我尝试时它现在拒绝停止运行
sudo killall -r stat
事后看来,这是因为 nohup 阻止它接收终止信号。
所以问题变成了如何使用 nohup(或类似的东西)让它在后台运行,但仍然能够停止 statsD 以便重新启动它(对于配置中的任何潜在更改)。
编辑:
好的,将启动命令更改为:
nohup /usr/bin/node /opt/statsd/stats.js /opt/statsd/localConfig.js >> /var/log/statsd.log 2>&1& \n echo $! /opt/statsd/statds.pid
我能够存储 pid 然后使用
kill -9 `/opt/statsd/statsd.pid`
我能够杀死该进程,但它仍然让 rcp.statd -L 运行,它有一个单独的 pid
【问题讨论】:
-
你看过this cookbook它有运行statsd的新贵脚本
标签: node.js chef-infra statsd