我想弄清楚如何在Linux shell中獲得最多k個進程。很顯然,我頭上的第一件事是top
,但它似乎沒有任何參數來指定要打印的進程數。Linux Shell - 查找前k個進程
使用批處理模式和迭代次數參數,我可以讓它產生所有進程的一個迭代並存儲輸出,但是我找不到一種方法將列表縮小到一定數量。 (當然,我可以把整個列表剪掉,但我使用的系統有27000個進程正在運行,因此檢索列表需要幾秒鐘的時間)。
例子:
>top -b -n1
>... (lots more processes here)
>26416 mcm101 20 0 4188 176 96 S 0.0 0.0 0:00.00 character_count
>26604 root 20 0 180m 5684 3532 S 0.0 0.0 0:00.54 sshd
>26616 pwf7 20 0 105m 1792 1432 S 0.0 0.0 0:00.10 bash
我想是這樣的:
>top k
>1 mcm101 20 0 4188 176 96 S 0.0 0.0 0:00.00 character_count
>2 pwf7 20 0 105m 1792 1432 S 0.0 0.0 0:00.10 bash
>... (more processes here)
>k root 20 0 180m 5684 3532 S 0.0 0.0 0:00.54 sshd
有誰知道如何使用top
或任何其他命令(一個或多個)以實現這一結果?
你如何排列你的'k'過程? – cnicutar 2013-02-09 20:55:01
頂部命令的%CPU字段(我相信是默認值)。 – MrHappyAsthma 2013-02-09 21:07:54