스크립트를 사용하여 터미널에서 서버 시작

스크립트를 사용하여 터미널에서 서버 시작

서버가 있어요"Node.js 서버.js"그리고 충돌 직후 다시 시작하고 싶지만 마지막 다시 시작이 1초보다 긴 경우에만 가능합니다. 이렇게 하면 서버가 즉시 종료되어도 내 이메일이 넘쳐나는 것을 방지할 수 있습니다.

이것이 start_server.sh다시 시작되는 것입니다. 나는 그것을 @rebootcrontab에 넣었고 서버가 시작되었을 때 정상적으로 시작되었습니다.

하지만 어떻게 start_server.sh터미널에서 실행하고 나중에 터미널을 닫을 수 있습니까? 그러면 종료하지 않고도 제대로 작동할까요?

나는 이것을 시도했지만 nohup start_server.sh작동하지 않습니다. 또한 STDOUT을 로그 파일로 리디렉션하고 싶습니다.

server.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

관련 정보