已经改用PM2
公司里有个服务是使用node.js写的。运行后开启的是9099端口。
有时候会不明原因的挂掉,很糟心。于是网上找了个脚本(感谢大佬的分享),自己改了改,放在同一个目录下,每五秒检测一次,如果检测到9099端口挂掉,就再次启动该服务,代码如下。
ssh到服务器后,切换到该服务所在的目录,创建以后使用nohup /bin/bash ./{脚本名}.sh > restart.log 2>&1 &
运行。这样如果服务挂掉重启会在restart.log里记录重启时间。
#!/bin/bash
echo "check changed_fms_new.js "
while true
do
pid=$(lsof -i:9099|grep LISTEN|awk '{print $2}')
if [ "${pid}" == "" ]
then
echo `date`
echo "restart fms"
nohup /usr/bin/node ./changed_fms_new.js >/dev/null 2>&1 &
fi
sleep 5
done