守护ShadowSocks进程,使其在异常中断时自动重启

     0评论

有时服务器端运行的进程会因为莫名的原因被中断,ShadowSocks如果出现这种情况就比较耽误事,本文提供一种简单的方法,定时检查进程,若发现ShadowSocks进程中断了,就将其重新启动。

第一步,准备脚本程序

vim checkss.sh,写入以下内容,如果你的ShadowSocks配置文件的放置位置不同,可以根据实际情况修改:

#! /bin/sh cnt=`ps aux | grep shadowsocks | wc -l` if [ $cnt -eq 1 ];then /usr/bin/python3 /usr/local/bin/ssserver -c /etc/shadowsocks.json -d start echo "restart service at `date`" >> sslog.txt else echo "ss service on" fi

第二步,添加可执行权限

chmod a+x checkss.sh

第三步,添加定时任务

编辑cron任务crontab -e,添加下面的行,其中checkss.sh的位置、间隔时间根据你的实际情况修改,*/3表示每三分钟运行一次:

*/3 * * * * /root/app/checkss.sh

第四步,检查确认,可参考下面的流程:

# 确认进程运行中 root@topvps:~/app# ps aux | grep sss root 28131 1.4 3.8 84116 38748 ? Ss 20:16 1:36 /usr/bin/python3 /usr/local/bin/ssserver -c /etc/shadowsocks.json -d start root 29889 0.0 0.0 14516 972 pts/3 S+ 22:04 0:00 grep --color=auto sss # 确认脚本执行正常 root@topvps:~/app# ./checkss.sh ss service on # 手动关闭ss进程 root@topvps:~/app# /usr/bin/python3 /usr/local/bin/ssserver -c /etc/shadowsocks.json -d stop INFO: loading config from /etc/shadowsocks.json stopped # 脚本发现ss进程终止,可以将其重新启动 root@topvps:~/app# ./checkss.sh INFO: loading config from /etc/shadowsocks.json 2018-09-06 22:04:41 INFO loading libcrypto from libcrypto.so.1.1 started # 日志记录正常 root@topvps:~/app# cat sslog.txt restart service at Thu Sep 6 22:04:41 CST 2018 # 定时任务正常 root@topvps:~/app# crontab -l # m h dom mon dow command 03 * * * * /root/app/checkss.sh

-- EOF --

本文最后修改于6年前 (2018-09-11)

差评不太行一般挺好非常不错 (1 votes, average: 5.00 out of 5)
读取中...
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址