저는 Linux에서 쉘 스크립팅을 처음 사용하고 2시간마다 실행되는 쉘 스크립트를 작성하고 포트 3001에서 실행되는 서비스가 있는지 확인하고 그렇지 않은 경우 서비스(이 경우 Gulp Node를 사용하는 서비스)를 다시 시작하려고 합니다. js 응용 프로그램입니다.
이 셸 스크립트를 2시간마다 실행하여 응용 프로그램이 계속 실행되고 있는지 확인하고 그렇지 않으면 응용 프로그램을 다시 시작해야 합니다. 응용 프로그램이 실행 중인 가상 서버 환경이 불안정하고 아무 이유 없이 수시로 종료되기 때문입니다.
따라서 쉘 스크립트에는 "gulpserve" 명령이 포함되어야 합니다. Node 애플리케이션의 폴더에서 실행되어야 하며 마치 프로젝트 폴더의 명령줄을 통해 "gulpserve" 명령을 입력한 것처럼 실행되어야 합니다. 가장 좋은 접근 방식은 무엇입니까? 어떤 팁이나 의견이라도 큰 도움이 될 것입니다. 감사합니다!
지금까지 내가 찾은 내용의 출발점은 다음과 같습니다.
#!/bin/bash
###edit the following
service=Node.js
[email protected]
###stop editing
host=`hostname -f`
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
echo "$service is running"
else
/etc/init.d/$service start
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
subject="$service at $host has been started"
echo "$service at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service at $host is not running"
echo "$service at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi