【发布时间】:2012-06-27 20:13:28
【问题描述】:
美好的一天,我在永远启动\停止脚本方面遇到了一些问题。
CentOS 6.2
内核 2.6.32-220.el6.x86_64
nodejs v0.6.19
npm v 1.1.24
永远@0.9.2
我创建了 nologin 用户来运行我的脚本
/etc/passwd
节点:x:501:501::/usr/sbin/nologin:/bin/bash:/usr/local/bin/node:/usr/local/bin/forever:/usr/local/bin:/usr/local /lib/node_modules/forever/bin
我创建脚本并命名为 hello2.js
#!/bin/bash
echo "aight"
并尝试运行
[max@localhost Desktop]$ forever start hello2.js
info: Forever processing file: hello2.js
[max@localhost Desktop]$ forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] n4EB node hello2.js 2675 2728 /home/max/.forever/n4EB.log 0:0:0:0.130
一切都好。接下来我为 hello2.js 创建启停脚本并将其命名为 node
============================
#!/bin/bash
#proccessname: node
USER=node
PWD=node
node=node
forever=forever
start() {
forever start -l forever.log -o out.log -e err.log /home/max/Desktop/hello2.js
}
stop(){
/usr/local/bin/forever stopall
}
restart() {
stop
start
}
status(){
/usr/local/bin/forever list
}
#see how we were called
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo $ "usage $0 {start | stop | status | restart}"
exit 1
esac
exit 0
========================================= 使其可执行。
接下来我想看看它是如何工作的
[max@localhost Desktop]$ ./node
$ usage ./node {start | stop | status | restart}
[max@localhost Desktop]$ ./node start
info: Forever processing file: /home/max/Desktop/hello2.js
[max@localhost Desktop]$ ./node status
**info: No forever processes running**
但是
[max@localhost Desktop]$ forever start hello2.js
info: Forever processing file: hello2.js
[max@localhost Desktop]$ forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] n4EB node hello2.js 2675 2728 /home/max/.forever/n4EB.log 0:0:0:0.130
[max@localhost Desktop]$
我的错误在哪里?
【问题讨论】:
-
您在使用您的初始化脚本启动后尝试
ps ax | grep -Ei "node|forever"吗? -
您可以使用
upstart(我相信CentOS 支持)查看我的解决方案:stackoverflow.com/q/11084279/813718。它可能会使整个过程变得更容易,并使您能够使用仅在 Node 中使用forever时可用的其他功能。 -
[max@localhost 桌面]$ ps ax | grep -Ei "node|forever" 2675 ? Ss 28:23 node /usr/local/bin/forever start hello2.js 11222 pts/0 S+ 0:00 grep -Ei node|forever 30613 ? S 0:03 gedit /home/max/Desktop/node
-
您的开始是否有可能使用不同的永久二进制文件?状态和停止使用完整路径,而您的开始不使用。
标签: bash node.js centos forever