Linux

程序的PID歷史

  • February 2, 2017

我想知道的是在最後一次2-3 restart之前分配給程序的PID

場景是在這個特定程序崩潰後,會生成一個日誌文件**,並將程序的 PID 連接到日誌文件的名稱**。我有 5 個名為hs_err_PIDs的日誌文件。我想確認這些 PID 是否已分配給我關心的程序,因為我對此有點困惑。

有什麼辦法可以做到嗎?

您可以在系統日誌文件中找到此資訊/var/log/messages/var/log/syslog. 某些程序在啟動時將消息列印到系統日誌。例如,squid 列印以下內容:

May  8 00:00:00 proxy squid[7274]: Squid Parent: child process 28819 started

如果您的程序記錄此類資訊,您可以知道舊的 PID,例如7274

另一種可能性是您的程序在死亡時會導致錯誤,例如 segfault。你會發現這樣的日誌:

May  8 00:00:00 proxy kernel: [1075746.767514] squid[24442]: segfault at 20 ip 00000000005bae26 sp 00007fff144918e0 error 4 in squid[400000+264000]

您還可以在這樣的日誌記錄24442中找到 PID 。

對於未來的情況,如果您有興趣稍後查找此類資訊,則需要記錄此類資訊。

引用自:https://serverfault.com/questions/386956