标签归档:挂掉

ss老是不定时挂掉 写个简单的进程守护

博客搬家进这个之前专门跑shadowsocks的vps后,原来在此VPS上跑得很稳的的shadowsocks老是不定时挂掉,查找日志也找不出什么原因,都是突然进程就被杀了。shadowsocks开启详细日志模式也找不出原因,折腾一段时间实在找不出什么原因导致进程被杀,先把进程被杀这件事解决先,进程被杀原因以后慢慢找。
写了个简单的进程守护脚本,有同样需要的朋友可参考

#!/bin/sh
###以下修改
ss=ss-server #更改成你所安装的ss进程名
ssstart="/etc/init.d/shadowsocks start" #更改为你的ss启动命令
###修改结束
#添加定时任务每天清空日志
echo "0 0 * * * echo "" > /var/log/ssguardian.log" >> /var/spool/cron/crontabs/root
while true;do
count=`ps -ef|grep $ss|grep -v grep`
if [ "$?" != "0" ]; then
echo "$(date "+%y-%m-%d %H:%M:%S") no ss-server, run it" >> /var/log/ssguardian.log
$ssstart
else
echo "$(date "+%y-%m-%d %H:%M:%S") OK" >> /var/log/ssguardian.log
fi
sleep 10
done

这个脚本的作用是 通过ps命令判断shadowsocks的进程是否存在,不在就重新启动它,存在就不作任何操作。这是个循环操作,执行完之后休眠10秒,再次运行,如此往复。
用nohup命令把它丢在后台运行

nohup sh ssguardian.sh >/dev/null 2>&1 &

运行日志通过以下命令查看

tail -f /var/log/ssguardian.log