【发布时间】:2016-12-21 15:00:34
【问题描述】:
运行 CentOS(Linux 信号服务器 3.10.0-123.8.1.el7.x86_64)。当我使用 SSH 登录服务器然后手动执行以下行时,它可以工作,但是当我退出与服务器的 SSH 连接时会崩溃。
$ node /var/www/html/signal-server/avi.js &
当我没有通过 SSH 手动登录时,这个机器人也无法让服务器运行:
#!/bin/bash
while :
do
# 1
avi=$(pgrep -f "avi.js")
if [[ "$avi" ]]; then
log1="1 - running avi.js $1 $2"
else
log1="1 - re-launch avi.js $1 $2"
ps aux | grep "avi.js" | awk '{print $2}' | xargs kill
sleep 1
# same if nohup also used
node /var/www/html/signal-server/avi.js &
fi
tt=$(date +"%Y-%m-%d %T")
echo "$tt" "$log1"
sleep 2
done
请问我怎样才能让它永远运行? (我还有其他服务,它们工作正常,只有当我从 SSH 会话注销时,这一项总是崩溃)
【问题讨论】:
-
为什么不使用github.com/foreverjs/forever?
标签: node.js linux bash ssh centos