如何获得命令的完整结果" top -c -b -n 1"通过java,Runtime.getRuntime()。exec(命令)

时间:2015-12-01 04:33:54

标签: java linux shell

我希望得到命令的结果" top -c -b -n 1 "通过java, Runtime.getRuntime()。exec(命令) , 但进程列表的COMMAND列被压缩为" / usr / lib / x +"! 如何直接在linux终端上执行完整结果命令?

1 个答案:

答案 0 :(得分:1)

top man page提到了一个-w COLS选项来指定它尝试格式化输出的列数:

$ top -c -b -n 1 -w 1000 | head -n10
top - 05:01:40 up 19 days, 13:29,  1 user,  load average: 1.62, 1.49, 1.43
Tasks: 287 total,   2 running, 285 sleeping,   0 stopped,   0 zombie
%Cpu(s):  7.5 us,  3.1 sy,  0.0 ni, 89.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32771952 total,   742552 free,  9000236 used, 23029164 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 23029384 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 4227 qemu      20   0 10.628g 5.797g   4688 S 112.5 18.5  34262:17 /usr/libexec/qemu-kvm -name test-vm -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off -cpu Nehalem -m 6144 -realtime mlock=off -smp 3,sockets=3,cores=1,threads=1 -uuid A5A5DC7B-3F35-40F9-B799-954D5411A219 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/test-vm.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-p+
  84 root      25   5       0      0      0 R  68.8  0.0  13144:24 [ksmd]
2834 andrew    20   0  130180   1888   1284 R   6.2  0.0   0:00.02 top -c -b -n 1 -w 1000
...

现在它在大约500个字符后被切断了,但希望这对你正在做的事情已经足够了。