Linux

過去的程序狀態

  • December 5, 2017

命令“ps”給出程序的目前狀態。有沒有辦法找到過去某個特定程序的狀態:比如說我想從現在開始 48 小時前知道某個特定程序的狀態?

我有一個單元崩潰,想知道崩潰發生的確切時間不同程序的狀態。

不,這樣的命令pstop顯示程序的目前狀態。除非您已經設置了監控系統,否則無法知道過去的程序狀態。

對於將來,您可以設置atop記錄程序狀態。從它的手冊頁:

為了儲存系統和程序級別的統計資訊以供長期分析(例如檢查系統負載和昨天下午 3:00 到 4:00 之間執行的活動程序),atop 可以將系統和程序級別的統計資訊儲存在原始文件中的壓縮二進制格式,帶有標誌 -w 後跟文件名。如果該文件已經存在並且被辨識為原始數據文件,則 atop 會將新樣本附加到文件中(從反映自啟動以來活動的樣本開始);如果該文件不存在,它將被創建。

預設情況下,只有在間隔期間處於活動狀態的程序才會儲存在原始文件中。當指定標誌 -a 時,將儲存所有程序。間隔(預設:10 秒)和样本數(預設:無限)可以作為最後一個參數傳遞。而不是樣本的數量,標誌 -S 可用於指示 atop 無論如何都應該在午夜之前完成。

顯然,正如已經說過的,atop只會從您設置它的那一刻開始錄製。

引用自:https://unix.stackexchange.com/questions/408139