如何確定進程死亡的原因?

如何確定進程死亡的原因?

在 CentOS 6.5 伺服器上,我正在使用 Sinatra 運行一個非常簡單的 HTTP 監聽器,它的存在只是為了接受 POST 請求並將 POST 請求的有效負載內容傳遞給另一個服務。

我經常發現帶有Sinatra服務PID的進程不再存在,日誌中也沒有任何解釋。

我在 Sinatra 程式碼中進行了調試等級的日誌記錄,但仍然沒有任何線索來了解盒子上發生了什麼導致進程終止的情況。

在這個問題的 Linux 端我可以做些什麼來監視這個特定的進程並確定是什麼導致它被殺死?

答案1

你可以嘗試做

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

進程終止後,您可以研究 /tmp/process.txt 的內容

如果要研究進程,應將 pid-number 替換為數字 pid。

相關內容