나는 그것을 사용했고 top -b -n 2 | awk '{if ($9 != 0.0) print $0,sed -n '8,20p'}'>>text.txt
출력은 다음과 같습니다.
top - 16:24:42 up 3:49, 3 users, load average: 0.23, 0.29, 0.31
Threads: 503 total, 2 running, 501 sleeping, 0 stopped, 0 zombie
%Cpu(s): 9.7 us, 1.6 sy, 0.0 ni, 88.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 3938668 total, 2148708 used, 1789960 free, 133524 buffers
KiB Swap: 3903484 total, 0 used, 3903484 free. 822904 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1054 root 20 0 258664 3524 2692 S 0.5 0.1 0:00.00 rsyslogd
1086 root 20 0 258664 3524 2692 S 0.4 0.1 0:00.03 in:imuxsock
1087 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.00 in:imklog
1090 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.05 rs:main Q:Reg
2452 fpiat 20 0 25292 7520 3580 S 0.3 0.2 0:00.69 bash
2495 fpiat 20 0 25088 6988 3256 S 0.3 0.2 0:00.05 bash
top - 16:24:42 up 3:49, 3 users, load average: 0.23, 0.29, 0.31
Threads: 503 total, 2 running, 501 sleeping, 0 stopped, 0 zombie
%Cpu(s): 9.7 us, 1.6 sy, 0.0 ni, 88.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 3938668 total, 2148708 used, 1789960 free, 133524 buffers
KiB Swap: 3903484 total, 0 used, 3903484 free. 822904 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1054 root 20 0 258664 3524 2692 S 0.5 0.1 0:00.00 rsyslogd
1086 root 20 0 258664 3524 2692 S 0.4 0.1 0:00.03 in:imuxsock
1087 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.00 in:imklog
1090 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.05 rs:main Q:Reg
2452 fpiat 20 0 25292 7520 3580 S 0.3 0.2 0:00.69 bash
2495 fpiat 20 0 25088 6988 3256 S 0.3 0.2 0:00.05 bash
다음과 같은 출력을 얻고 싶습니다(헤더가 인쇄되지 않음을 의미함).
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1054 root 20 0 258664 3524 2692 S 0.5 0.1 0:00.00 rsyslogd
1086 root 20 0 258664 3524 2692 S 0.4 0.1 0:00.03 in:imuxsock
1087 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.00 in:imklog
1090 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.05 rs:main Q:Reg
2452 fpiat 20 0 25292 7520 3580 S 0.3 0.2 0:00.69 bash
2495 fpiat 20 0 25088 6988 3256 S 0.3 0.2 0:00.05 bash
1054 root 20 0 258664 3524 2692 S 0.5 0.1 0:00.00 rsyslogd
1086 root 20 0 258664 3524 2692 S 0.4 0.1 0:00.03 in:imuxsock
1087 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.00 in:imklog
1090 root 20 0 258664 3524 2692 S 0.3 0.1 0:00.05 rs:main Q:Reg
2452 fpiat 20 0 25292 7520 3580 S 0.3 0.2 0:00.69 bash
2495 fpiat 20 0 25088 6988 3256 S 0.3 0.2 0:00.05 bash
누구든지 해결책을 제안할 수 있나요?
답변1
주문하다:top -b -n1| sed -n '/PID/,$p'
산출
ux_example ~]# top -b -n1| sed -n '/PID/,$p'
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7 root RT 0 0 0 0 S 1.7 0.0 0:01.04 migration/1
1 root 20 0 19356 1564 1252 S 0.0 0.1 0:07.96 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.07 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:03.46 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:01.84 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 1:58.23 watchdog/0
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:02.87 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 2:10.65 watchdog/1
11 root RT 0 0 0 0 S 0.0 0.0 0:02.42 migration/2
12 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
13 root 20 0 0 0 0 S 0.0 0.0 0:01.27 ksoftirqd/2
14 root RT 0 0 0 0 S 0.0 0.0 1:55.75 watchdog/2
15 root RT 0 0 0 0 S 0.0 0.0 0:01.03 migration/3
16 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
17 root 20 0 0 0 0 S 0.0 0.0 0:00.95 ksoftirqd/3
18 root RT 0 0 0 0 S 0.0 0.0 1:58.07 watchdog/3
19 root 20 0 0 0 0 S 0.0 0.0 0:14.40 events/0
20 root 20 0 0 0 0 S 0.0 0.0 3:52.96 events/1
21 root 20 0 0 0 0 S 0.0 0.0 0:16.77 events/2
22 root 20 0 0 0 0 S 0.0 0.0 1:34.48 events/3
23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
24 root 20 0 0 0 0 S 0.0 0.0 0:00.01 khelper
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
28 root 20 0 0 0 0 S 0.0 0.0 0:07.44 sync_supers
29 root 20 0 0 0 0 S 0.0 0.0 0:03.43 bdi-default
30 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
31 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/1
32 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/2
33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/3
34 root 20 0 0 0 0 S 0.0 0.0 0:02.02 kblockd/0
35 root 20 0 0 0 0 S 0.0 0.0 0:01.02 kblockd/1
36 root 20 0 0 0 0 S 0.0 0.0 0:07.83 kblockd/2
37 root 20 0 0 0 0 S 0.0 0.0 0:22.51 kblockd/3
38 root 20 0 0 0 0 S 0.0 0.0 0:
답변2
이 top
명령은 대화형으로 사용하기 위한 것입니다. 프로그래밍 방식으로 원하는 출력을 얻으려면 ps
대부분 동일한 정보를 제공하지만 스크립트 친화적인 this 사용을 고려할 수 있습니다 .
예:
$ ps -eo pid,uid,pri,nice,vsz,rss,s,%cpu,%mem,time,comm | head
PID UID PRI NI VSZ RSS S %CPU %MEM TIME COMMAND
1 0 19 0 186380 9608 S 0.0 0.0 00:01:15 systemd
2 0 19 0 0 0 S 0.0 0.0 00:00:00 kthreadd
3 0 39 -20 0 0 I 0.0 0.0 00:00:00 rcu_gp
4 0 39 -20 0 0 I 0.0 0.0 00:00:00 rcu_par_gp
6 0 39 -20 0 0 I 0.0 0.0 00:00:00 kworker/0:0H-kblockd
8 0 39 -20 0 0 I 0.0 0.0 00:00:00 mm_percpu_wq
9 0 19 0 0 0 S 0.0 0.0 00:00:19 ksoftirqd/0
10 0 41 - 0 0 I 0.0 0.0 00:02:20 rcu_preempt
11 0 41 - 0 0 S 0.0 0.0 00:00:24 rcuc/0
유일하게 누락된 필드는 입니다 SHR
. ( ps
인쇄하는 방법을 모르겠습니다 .)
답변3
요약 영역의 개별 구성 요소는 다음과 같이 활성화하거나 비활성화할 수 있습니다.
Summary-Area-defaults
'l' - Load Avg/Uptime On (thus program name)
't' - Task/Cpu states On (1+1 lines, see '1')
'm' - Mem/Swap usage On (2 lines worth)
'1' - Single Cpu On (thus 1 line if smp)
모두 비활성화하려면 줄이 사라질 때까지 top
각 m, l및 t키를 시작하고 누르십시오(일부는 단순히 켜고 끄는 것이 아니라 여러 모드 사이를 순환합니다). 그런 다음 변경 사항을 으로 저장 .toprc
합니다 W.
그 이후에는 top -b -n 1
각 프로세스의 빈 행, 열 머리글 행 및 개별 행만 표시됩니다.
구성 파일은 대부분 사람이 읽을 수 있으므로 직접 편집할 수 있지만 이를 위해 설계된 것 같지는 않습니다. (이 필드에는 일반적인 ASCII 범위를 벗어난 문자가 포함되어 있다는 점은 주목할 가치가 있습니다 fieldscur
.) 비활성화하려는 부분은 항목의 비트로 표시되지만 winflags
정확한 값(및 구성 파일의 위치)은 버전마다 다를 수 있습니다.