我如何确定某个进程死亡的原因?

我如何确定某个进程死亡的原因?

在 CentOS 6.5 服务器上,我正在运行一个非常简单的 HTTP 监听器和 Sinatra,它只是为了接受 POST 请求并将 POST 请求的有效负载内容传递给另一个服务。

我经常发现 Sinatra 服务 PID 的进程不再存在,而日志中却没有任何解释。

我在 Sinatra 代码中进行了调试级别的日志记录,但仍然不知道机器上到底发生了什么,导致进程终止。

我可以在这个问题的 Linux 端做什么来监视这个特定的进程并确定是什么原因导致它被终止?

答案1

你可以尝试做

strace -p pid 号 >& /tmp/process.txt

一旦进程终止,您就可以研究 /tmp/process.txt 的内容

如果您想要研究该进程,则应该将 pid-number 替换为数字 pid。

相关内容