如何在非交互模式下將頂部命令輸出中的行數限制爲特定數字'say 5'?如何在LINUX的非交互模式下限制頂部命令輸出中的行數
回答
必須提供-w選項沒有參數並通過LINES環境變量指定的行的期望數量:
LINES=20 top -b -n 1 -w
注意,輸出的寬度通過控制COLUMNS環境變量。所以,如果在你的環境中設置,必須重寫它上面的調用:
LINES=20 COLUMNS=80 top -b -n 1 -w
或
(unset COLUMNS; LINES=20 top -b -n 1 -w)
此工程的top
包含在Ubuntu 15.10版本。
$ top -v
procps-ng version 3.3.9
Usage:
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
顯然,-w選項中不存在的top
所有版本。但是,你可以隨時使用管道來限制輸出:
top -b -n 1|head -n 20
在Linux上爲我生成't T % K K'(每個單獨一行)。 – Kusalananda
@Kusalananda你有環境變量** COLUMNS **設置爲1嗎? – Leon
'env COLUMNS = 80 LINES = 20 top -b -n 1 -w'產生與以前相同的輸出。 'env LINES = 20 top -b -n 1 -w 80'給了我超過20行(所有進程)。 – Kusalananda
對於OS X答案:
$ top -l 1 -n 5
但OS X top
各種各樣的PID默認情況下,所以你可能要添加-o cpu
太。
它很少在第一次迭代中獲得%cpu權限......我認爲這可能是其他系統上的top
問題。
根據您希望獲得的實際數據,可能有更好的方法來獲取它。解析交互式程序的輸出並不理想。
..對於OS X它工作..Nice命令.. –
我使用一種技巧,特別是批處理模式。我使用選項「-A」將exit退出到grep,以在比賽結束後顯示N行。
正如上面第一行有這樣的:「平均負載」,我用grep的是,例如:
$ top -d 5 -b|grep "load average" -A 15
top - 09:42:34 up 38 min, 1 user, load average: 0.22, 0.39, 0.53
Tasks: 294 total, 2 running, 291 sleeping, 0 stopped, 1 zombie
%Cpu(s): 3.5 us, 0.9 sy, 0.0 ni, 94.6 id, 0.5 wa, 0.3 hi, 0.1 si, 0.0 st
KiB Mem : 8065144 total, 2213800 free, 2733524 used, 3117820 buff/cache
KiB Swap: 24575996 total, 24575996 free, 0 used. 4613128 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2744 lrojas 20 0 3376820 752000 116588 R 20.2 9.3 9:30.01 firefox
1869 lrojas 9 -11 566164 18336 14300 S 5.2 0.2 2:35.78 pulseaudio
2401 lrojas 20 0 740092 200456 87256 S 2.4 2.5 0:57.29 skype
2402 lrojas 20 0 617872 172924 76172 S 2.2 2.1 0:57.17 skype
1333 root 20 0 459028 60992 48024 S 1.6 0.8 0:36.14 Xorg
1838 lrojas 20 0 2103336 184468 64724 S 1.4 2.3 0:56.85 gnome-shell
2359 lrojas 20 0 741212 35068 24620 S 1.4 0.4 0:06.83 gnome-terminal-
2404 lrojas 20 0 1867556 229912 83988 S 0.8 2.9 0:19.63 thunderbird
1249 apache 20 0 461436 10196 3404 S 0.4 0.1 0:00.57 httpd
這樣,它會繼續在批處理模式下,只有處處顯示着前N輸出線。
完全標準的解決方案,適用於任何版本的top。
乾杯,
路易斯
- 1. 如何應對交互式Linux命令?
- 2. 限制所有Linux命令的輸出
- 3. Emacs如何在交互命令行模式下運行命令elisp
- 4. 如何在交互模式下運行sbt multiple命令
- 5. 在Python中,如何在交互模式下提供命令行參數
- 6. 在非交互模式下運行ipython
- 7. Linux C:交互式輸出
- 8. 在沒有交互模式的情況下執行vim命令
- 9. 在CLI模式下從PHP運行交互式shell命令
- 10. 非交互式shell命令的歷史
- 11. 交互命令行模式emacs
- 12. 運行在非交互式shell會話多個命令和解析輸出
- 13. 在Paramiko中運行交互式命令
- 14. 非交互式Python命令歷史
- 15. 如何在Java中的交互式命令行進程中輸入值?
- 16. Solaris非全局區域中的非交互式命令
- 17. 真正的交互式命令行
- 18. 如何在bash的非交互模式下爲Ubuntu運行一些別名命令
- 19. 非交互式命令行工具的含義是什麼?
- 20. 將多行stdin輸入傳遞給交互式Java命令行程序,非交互式
- 21. 如何從Python中的管道命令獲取交互式輸出?
- 22. 如何以交互模式運行sbt multiple命令作爲一個命令?
- 23. Octave在交互模式下顯示gnuplot,但不在命令行中顯示
- 24. linux中的頂級命令
- 25. NuGet.exe:無法在非交互模式下提示輸入
- 26. Linux:如何不根據屏幕寬度限制頂部的輸出
- 27. SBT交互模式命令不Babun
- 28. 在PHP CLI交互模式下預先安裝命令
- 29. 如何使用python的交互式輸入運行命令行程序?
- 30. 執行外部命令,退出腳本並與外部命令交互
您是否在尋找實時結果呢? – sjsam
是@sjsam。像批處理模式輸出 –