web后台服务,经常遇到请求时间长,无响应,在杀掉进程重启之后恢复,过几天可能又出现这类问题。
通过系统的crontab,实现定时重启。
通过 sudo vim /etc/crontab 进入定时启动文件编辑,如下:
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 1 * * * root ps -ef|grep web_server.py|awk {'print $2'}|sudo xargs kill -9
1 1 * * * root cd /home/gogocaptain/web_server/;nohup sudo python web_server.py 80 &
最后两行为设置的重启。
如图所示,前5个字符为启动时间,1点0分,先找到web_server.py进程,通过awk获取进程号,然后通过sudo kill -9 杀掉进程,由于启动的一般是80端口,所以需要sudo。
最后一行是重启任务,1点1分,切换到脚本所在目录,通过sudo再次启动服务。