Monitoring
使用 top 顯示 PPID 並輸出到文件
我正在嘗試使用 Linux top 命令監視程序的 CPU、RAM 和計算時間,以及它生成的所有子程序。
我發現我可以使用以下語法儲存 top 命令的輸出:
$ top -b > top.txt
然後我用 python 腳本解析結果。但是我無法辨識我正在監視的特定程序及其子程序。
我發現我可以通過在 top 執行時鍵入來在 top 中添加 PPIDs 欄位,但這在帶有該選項
f
的批處理模式下不起作用。-b
有沒有辦法顯示 PPID 並儲存 top 命令的輸出,以便在解析結果時找到我感興趣的程序?
**我的具體問題是關於在批處理模式下使用 top 時在輸出文件中包含 PPID。**如果您有更好的建議來監控程序的 CPU、RAM 和計算時間,也將受到歡迎。
在互動式頂部顯示中添加 PPID(或任何其他欄位)後,您只需使用
W
(大寫w)保存配置。然後退出 (q
) 並使用top -b
,它將以互動方式包含並顯示您對頂部所做的更改的欄位。
top``ps
被創建為顯示過程的互動式和更新變體。ps
在這裡使用命令會更容易更自然。例如,對於父程序資訊:ps -ejf > top.txt
或者,對於您的使用者,
ps -ejf | awk '{if ($1=="'${USER}'" || NR==1) {print $0}}' > top.txt
或者,以樹的形式,視覺化程序樹的父/子:
ps auxfww > top.txt
PPID和簡單樹格式的組合:
ps -ejfH | awk '{if ($1=="'${USER}'" || NR==1) {print $0}}' > top.txt