Aix
aix:如何按時間排序ps?
在 AIX 上,對於前 10 個 CPU 程序,我使用
ps aux | head -1; ps aux | sort -rn +2 | head -10
前 10 個記憶體程序
ps aux | head -1; ps aux | sort -rn +3 | head -10
如何按時間對輸出進行排序?
時間是第 9 列,但是
ps aux | head -1; ps aux | sort -rn +8 | head -10
給我這個結果——不按時間排序
user 14614674 0,0 0,0 168 176 pts/0 T 14:23:23 0:00 cat user 13041722 0,0 0,0 168 176 pts/0 T 14:25:59 0:00 cat user 12517628 0,0 0,0 168 176 pts/0 T 14:22:26 0:00 cat user 9043992 0,0 0,0 168 176 pts/0 T 14:23:13 0:00 cat user 14745724 0,0 0,0 168 176 pts/0 T 13:47:11 0:00 cat
+8
(對從第 9個欄位開始的行部分進行排序)或+8 -9
(對第 9個欄位進行排序)是不推薦使用的排序鍵規範語法。我建議切換到現代的:-k 9
和-k 9,9
.在您的情況下,
-n
排序鍵被解析為數字。也就是說,從第 9個欄位開始到行尾結束的行部分將轉換為數字,並且該數字用於排序。這意味著只考慮小時部分。
對於要考慮的分鐘和秒,您可以執行以下操作:
ps aux | sort -r -k9n -k9,9
然後,對於小時比較的關係,進行詞彙比較。如果早上的時間寫成
02:12
而不是2:12
,你可以做sort -rk9
,也就是做一個詞法比較。請注意,如果有昨天或之前啟動的程序,它可能不起作用。