去年TSINGSEE青犀视频对旗下的EasyDSS、EasyGBS等视频平台陆续更换了新内核版本。新内核版本性能更加稳定,感兴趣的用户可以前往官网进行使用体验。
近期我们接到用户的反馈,在测试EasyGBS的过程中,有时在Linux系统下,EasyGBS虽然关闭,但是内核却没有关闭。针对这种情况,我们对代码进行了优化处理。
因为EasyGBS程序是以服务方式运行,在Linux系统下以systemd的方式守护进程来实现服务。出现上述情况,我们猜测是由于上层关闭比较慢,时间过于长久导致没有去关闭底层启动的内核程序。因此需要我们优化代码,在EasyGBS程序关闭时,立即停止内核程序,来保证程序的正常退出。
代码如下:
func (p *program) Stop(s service.Service) (err error) {
defer log.Println("********** STOP **********")
defer utils.CloseLogWriter()
redis2.Close()
stund.Close()
mediaserver2.UnInit()
p.StopHTTP()
sms.UnInit()
uas.Stop()
stream.CloseClient()
gbsdao.Close() //关闭数据库链接
nvs.Stop()
return
}
以上程序的作用是,EasyGBS收到停止命令后,首先关闭redis,再关闭打洞服务stund,然后关闭内核mediaserver,最后再关闭上层的其他模块,这样即可保证了程序正常关闭。
优化后交给用户测试,没有出现上述内核未关闭的情况了。
EasyGBS国标视频云服务平台在去年研发了不少的功能,比如告警功能、语音对讲功能等。今年也将持续对这些功能进行各项适配性的测试,目前我们也在开发一些智能分析相关的服务,如果大家有兴趣可以关注我们的博客,我们将不定期在博客内分享我们的开发经验。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有