加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何在unix上找到没有日志文件的死进程的原因?

发布时间:2020-12-13 19:46:50 所属栏目:Linux 来源:网络整理
导读:这是一个面试问题. 开发人员开始了一个过程. 但是当客户想要使用该流程时,他发现流程没有运行. 开发人员登录后发现该进程已经死亡.开发人员怎么知道出了什么问题? 跟进:一个正在运行的进程,它应该将日志写入文件.但是文件中没有日志.开发人员如何弄清楚流
这是一个面试问题.

开发人员开始了一个过程.
但是当客户想要使用该流程时,他发现流程没有运行.
开发人员登录后发现该进程已经死亡.开发人员怎么知道出了什么问题?

跟进:一个正在运行的进程,它应该将日志写入文件.但是文件中没有日志.开发人员如何弄清楚流程中发生了什么?

我认为 :
如果程序可以重新运行,我将使用gdb来跟踪该过程.
如果没有,请检查进程(应用程序)中的输出文件.
或者,在代码中添加print.

但是,还有其他方法可以通过引用操作系统生成的一些信息来实现吗?

解决方法

如果您有磁盘空间和备用CPU电源,则可以在程序后面留下 strace以捕获导致退出的序列.

如果程序在没有留下任何痕迹的情况下死亡,一个可能的原因是Out-Of-Memory (OOM) killer.如果它终止了你的进程,这将在内核日志中留下一条消息.

从同一个答案中,可以修改process accounting,通过告诉退出代码和退出时间来提供一些线索.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读