Linux
程序的PID歷史
我想知道的是在最後一次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 。
對於未來的情況,如果您有興趣稍後查找此類資訊,則需要記錄此類資訊。