使用脚本从终端启动服务器

使用脚本从终端启动服务器

我有一个服务器”Node.js 服务器.js“并且我希望它在崩溃后立即重新启动,但前提是上次重新启动时间超过一秒。如果服务器立即退出,这将防止我的电子邮件被淹没。

这是start_server.sh重新启动它的。我把它放在@rebootcrontab 中,当服务器启动时它启动得很好。

但是我如何start_server.sh从终端运行并稍后关闭终端并且它应该可以正常工作而无需退出?

我已经尝试过nohup start_server.sh,但这不起作用。我还想将 STDOUT 重定向到日志文件。

启动服务器.sh

#!/bin/sh

set -x
count=0

while :
do
if test $count -lt 40
then
mail -s "server.js started just now" [email protected]  < /dev/null
fi

count=`expr $count + 1`

date1=`date +%s`  #get unix time

cd /home/login/railways/nodejs

echo "Starting time is $date1"
 /usr/bin/nodejs server.js >> server.log

date2=`date +%s`  #get unix time


if test $date1 -eq $date2
then
        msg="exiting as process has failed"
        echo $msg
        if test $count -lt 40
        then
        mail -s $msg  [email protected]  < /dev/null
        fi
        sleep 10
fi


echo "restarting the process"


sleep 1
done

相关内容