top
특정 순간의 스냅샷을 파일로 저장하는 방법이 있나요?
나는 노력했다
top > top.out
그러나 내용은 STDOUT의 상단과 완전히 다릅니다.
^[[H^[[2J^[(B^[[mtop - 16:09:49 up 18 days, 21:46, 4 users, load average: 2.00, 1.90, 1.87^[(B^[[m^[[39;49m^[[K
Tasks:^[(B^[[m^[[39;49m^[(B^[[m 286 ^[(B^[[m^[[39;49mtotal,^[(B^[[m^[[39;49m^[(B^[[m 1 ^[(B^[[m^[[39;49mrunning,^[(B^[[m^[[39;49m^[(B^[[m 285 ^[(B^[[m^[[39;49msleeping,^[(B^[[m^[[39;49m^[(B^[[m 0 ^[(B^[[m^[[39;49mstopped,^[(B^[[m^[[39;49m^[(B^[[m 0 ^[(B^[[m^[[39;49mzombie^[(B^[[m^[[39;49m^[[K
Cpu(s):^[(B^[[m^[[39;49m^[(B^[[m 5.9%^[(B^[[m^[[39;49mus,^[(B^[[m^[[39;49m^[(B^[[m 0.1%^[(B^[[m^[[39;49msy,^[(B^[[m^[[39;49m^[(B^[[m 0.0%^[(B^[[m^[[39;49mni,^[(B^[[m^[[39;49m^[(B^[[m 93.5%^[(B^[[m^[[39;49mid,^[(B^[[m^[[39;49m^[(B^[[m 0.3%^[(B^[[m^[[39;49mwa,^[(B^[[m^[[39;49m^[(B^[[m 0.0%^[(B^[[m^[[39;49mhi,^[(B^[[m^[[39;49m^[(B^[[m 0.1%^[(B^[[m^[[39;49msi,^[(B^[[m^[[39;49m^[(B^[[m 0.0%^[(B^[[m^[[39;49mst^[(B^[[m^[[39;49m^[[K
Mem: ^[(B^[[m^[[39;49m^[(B^[[m 64322524k ^[(B^[[m^[[39;49mtotal,^[(B^[[m^[[39;49m^[(B^[[m 46529492k ^[(B^[[m^[[39;49mused,^[(B^[[m^[[39;49m^[(B^[[m 17793032k ^[(B^[[m^[[39;49mfree,^[(B^[[m^[[39;49m^[(B^[[m 141304k ^[(B^[[m^[[39;49mbuffers^[(B^[[m^[[39;49m^[[K
Swap:^[(B^[[m^[[39;49m^[(B^[[m 6289436k ^[(B^[[m^[[39;49mtotal,^[(B^[[m^[[39;49m^[(B^[[m 696k ^[(B^[[m^[[39;49mused,^[(B^[[m^[[39;49m^[(B^[[m 6288740k ^[(B^[[m^[[39;49mfree,^[(B^[[m^[[39;49m^[(B^[[m 15289220k ^[(B^[[m^[[39;49mcached^[(B^[[m^[[39;49m^[[K
^[[6;1H
답변1
문제는 top
ANSI/VT100 이스케이프 코드가 기본적으로 포함되어 있다는 것입니다. 이 경우 원하는 것은 "원시" 텍스트 출력인 것 같습니다(즉, 일부 텍스트가 굵게 표시되어야 한다는 정보 등이 아닙니다). 다행히도 top
문서에는 "배치 모드"라고 하는 이 작업 모드에 대한 지원이 내장되어 있습니다.
맨 위 매뉴얼 페이지( man top
)에서:
-n : Number of iterations limit as: -n number
Specifies the maximum number of iterations, or frames, top should
produce before ending.
-b : Batch mode operation
Starts top in 'Batch mode', which could be useful for sending output
from top to other programs or to a file. In this mode, top will not
accept input and runs until the iterations limit you've set with
the '-n' command-line option or until killed.
그래서...
top -n 1 -b > top.out
top과 같은 편리한 "-b" 유형 스위치가 없는 다른 명령줄 유틸리티의 경우 다음을 사용할 수도 있습니다.안티필터. 다운로드하고, 컴파일하고, 설치하세요. 그럼 당신은 할 수 있습니다 ...
top -n 1 | ansifilter > top.out