abrt服务导致进程挂掉

abrt服务导致进程挂掉,第1张

服务器是放10来个游戏服的,最近发现总有一个游戏服会无缘无故挂掉,程序日志和命令记录也没有找到挂掉的原因,后来在系统日志(/var/log/messages)找到报错信息:

从报错可以看到时间点是对得上的,初步判断就是abrt服务的报错导致游戏服进程挂掉。

方法1、这是因为无法创建ccpp文件导致的,因为需要修改/etc/abrt/abrt-action-save-package-data.conf中ProcessUnpackaged参数,修改如下:

方法2、关闭abrt服务器

   在linux调试程序,最痛苦的就是程序异常宕掉,但是找不到core文件,很难定位问题。但是有了core文件就容易定位多了,而abrt服务就是用作记录这个core文件的,有了core文件也需要及时删除,通过abrt-cli list查看文件的包,然后用abrt-cli rm 【文件包】就可以了。当然觉得没必要是完全可以把这个服务关掉的

abrt abrt (automatic bug report tool)服务将系统bug和SELinux收集汇报给Bugzilla以方便开发者修复。

所以,有时候对进程进行实时监控,当发现进程挂掉时,立刻重新启动进程,也是一种可以救急的方式(当然这个只是一种临时救急,并不是根本解决方法)。实现方式:使用fork()创建子进程,子进程用于执行具体功能,主进程只是用于监控子进程,当主进程检测到子进程挂掉后,可以实现立即重新启动子进程。

子进程结束,系统会向主进程发送信号:SIGCHLD,主进程可以通过捕捉该信号,从而检测子进程已经不存在,进而继续下一步 *** 作。如果需要,主进程还可以获得子进程是为何退出的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7401576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存