
命令“ps”給出進程的當前狀態。有沒有辦法找到過去特定行程的狀態:假設我想知道從現在開始 48 小時前特定行程的狀態?
我有一個單元崩潰了,想知道崩潰發生時不同進程的狀態。
答案1
不,諸如ps
和之類的命令top
僅顯示進程的當前狀態。除非您已經建立了監控系統,否則無法知道過去的流程狀態。
將來,您可以設定atop
記錄進程狀態。從它的線上說明頁來看:
為了儲存系統和進程層級的統計資料以進行長期分析(例如,檢查系統負載和昨天下午 3:00 到 4:00 之間運行的活動進程),atop 可以將系統和進程級別的統計資料儲存在原始文件中的壓縮二進位格式,帶有標誌-w 後面跟著檔名。如果該文件已經存在並且被識別為原始資料文件,則 atop 會將新樣本附加到該文件(從反映啟動以來活動的樣本開始);如果該文件不存在,則會建立該文件。
預設情況下,只有在該時間間隔內處於活動狀態的進程才會儲存在原始檔案中。當指定標誌 -a 時,將儲存所有進程。間隔(預設值:10 秒)和樣本數(預設值:無限)可以作為最後一個參數傳遞。可以使用標誌 -S 來指示 atop 無論如何應該在午夜之前完成,而不是樣本數。
顯然,正如已經說過的,atop
只會從您設定的那一刻開始錄製。