国标GB/T28181流媒体服务器EasyGBS重启功能怎么用?
程序员文章站
2022-07-05 22:25:54
...
我们搞技术的,一直坚信一个道理——重启大法好!别人以为我们一碰到电脑程序问题,来一顿狂敲代码,问题就解决了,但实际上我们碰到电脑卡顿问题:重启一下;碰到程序自动关闭:重启一下。总之万事逃不过重启。
重启这么重要,在我们研发的软件里面怎么可能放过重启?所以我们在开发EasyGBS系统重启功能的时候,需要将EasyGBS彻底重启,不保留任何正在进行的与EasyGBS相关的程序,保证程序下次打开数据都正常。
我们在EasyGBS进程里面无法做到彻底杀死进程,所以只能在系统层面添加重启任务。
首先配置好开启和关闭的脚本:
#!/bin/bash
sleep 10
CWD=$(cd "$(dirname $0)";pwd)
"$CWD"/easygbs install
"$CWD"/easygbs start
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
"$CWD"/easygbs stop
"$CWD"/easygbs uninstall
接下来就是设置定时任务,在linux中的定时命令crontab
* * * * *
第一个 * 代表分钟
第二个 * 代表小时
第三个 * 代表一个月中的天数
第四个 * 代表月
第五个 * 代表星期几
结合需求每天凌晨四点半重启服务
30 4 * * *
定时脚本为
但是现在又出现一个问题,上面的脚本是先在四点半的时候执行停止脚本,然后紧接着就执行了开始脚本,这就会出现一个问题,进程没有停止完全的时候就执行了开始脚本,会导致停止不彻底和开启不完全。
基于此,我们需要改造开始脚本:添加sleep 10 延迟10秒执行开始脚本就可以解决这个问题了。