如何在批处理模式下选择 top 命令的列?

如何在批处理模式下选择 top 命令的列?
$ top -bn1 | head

top - 15:16:52 up 11 days,  5:01,  4 users,  load average: 0,00, 0,03, 0,11
Tasks: 411 total,   1 running, 408 sleeping,   0 stopped,   2 zombie
%Cpu(s):  4,5 us,  0,6 sy,  0,0 ni, 94,5 id,  0,4 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:  16403396 total,  8546712 used,  7856684 free,   711904 buffers
KiB Swap: 16744444 total,        0 used, 16744444 free.  5160648 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0   33772   3148   1476 S   0,0  0,0   0:06.04 init
    2 root      20   0       0      0      0 S   0,0  0,0   0:00.03 kthreadd
    3 root      20   0       0      0      0 S   0,0  0,0   0:02.30 ksoftirqd/0

我怎样才能获得最高回报:

  • PID
  • COMMAND
  • %CPU
  • %MEM
  • TIME(不是TIME+

以批处理模式?

答案1

我能找到的最佳方法:

  • top以标准模式运行
  • 用于F配置列
  • 然后使用W将视图保存为默认视图

此默认视图也将用于批处理模式。

答案2

我不想通过覆盖用户来影响我的整个用户.toprc,所以我想出了一个解决方案,即为每个用例设置单独的配置。
您可以top使用自定义配置文件,而不是用户主目录中的配置文件。
只需将变量更改为包含所需文件的HOME自定义目录即可。.toprc

# TOPRC_PROFILE_DIRECTORY contains .toprc (or can be created by saving using shift+w after configuring using keybindings) 
TOPRC_PROFILE_DIRECTORY="<your-directory>"
HOME="$TOPRC_PROFILE_DIRECTORY" top

相关内容