วิธีบันทึกเอาต์พุต htop ไปยังไฟล์ได้อย่างไร


14

ฉันจะบันทึกผลลัพธ์ของhtopไปยังไฟล์ได้อย่างไร? ด้วยtopฉันสามารถเรียกใช้

top -b -n1 > top.txt

โดยที่-bระบุโหมดแบทช์และ-nระบุจำนวนการวนซ้ำ

แต่manหน้าของhtopไม่ได้ให้โอกาสเช่นนั้น

การจับภาพหน้าจอเป็นวิธีเดียวหรือไม่?

คำตอบ:


18

รอนให้ลิงก์ไปยังเอาต์พุต htop ไปยังไฟล์ที่มนุษย์อ่านได้และคำพูดจากคำตอบที่ได้รับการโหวตจากนักพัฒนาของฮ็อป

อย่างไรก็ตามอีกเล็กน้อยในหน้าเดียวกันมีวิธีแก้ปัญหาที่ใช้การแปลง ANSI เป็น HTML สั้น ๆ ติดตั้งahaจากศูนย์ซอฟต์แวร์แล้วเรียกใช้:

echo q | htop | aha --black --line-fix > htop.html

นี่คือลักษณะของสองสามบรรทัดแรก:

  1  [|||||||||||||||||||||||||||||||||                                    42.9%]     Tasks: 73, 251 thr; 1 running
  2  [||||||                                                                7.1%]     Load average: 0.28 0.32 0.32 
  Mem[||||||||||||||||||||||||||||||||||                              581/3916MB]     Uptime: 03:09:25
  Swp[                                                                  0/4056MB]
  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command          
 9785 dkb        20   0 31544  2464  1312 R 22.2  0.1  0:00.09 htop             
 3503 dkb        20   0 1065M 59684 16344 S  7.4  1.5  6:25.43 mpv --profile=pseudo-gui -- file:///home/dkb/Downloads/ONX
    1 root       20   0 33760  3088  1488 S  0.0  0.1  0:01.62 /sbin/init        
  276 root       20   0 19472   652   460 S  0.0  0.0  0:00.19 upstart-udev-bridge --daemon
  281 root       20   0 52592  2640  1016 S  0.0  0.1  0:00.76 /lib/systemd/systemd-udevd --daemon
  577 root       20   0 15256   632   388 S  0.0  0.0  0:00.05 upstart-socket-bridge --daemon
  662 root       20   0 15272   416   200 S  0.0  0.0  0:00.04 upstart-file-bridge --daemon
  677 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.01 rsyslogd          
  678 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.00 rsyslogd          
  679 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.02 rsyslogd          
  675 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.04 rsyslogd          
  680 messagebu  20   0 39860  1968  1044 S  0.0  0.0  0:00.52 dbus-daemon --system --fork

3
สำหรับผู้ที่สงสัย: ท่อqไปที่htopเลิกทันที
BallpointBen

6

ได้จากผู้เขียนhtop:

ไม่ไม่มีวิธี "ดี" ในการรับเอาต์พุตของ htop ไปยังไฟล์ มันเป็นแอปพลิเคชั่นแบบอินเทอร์แอคทีฟและใช้รูทีนการวาดเทอร์มินัลเพื่อสร้างอินเทอร์เฟซของมัน

psที่จะได้รับข้อมูลเกี่ยวกับกระบวนการของคุณในรูปแบบข้อความการใช้งาน ตัวอย่างเช่นps auxf > file.txtให้ข้อมูลที่ง่ายต่อการแยกวิเคราะห์ (หรือ ps aux หากคุณไม่ต้องการจัดรูปแบบต้นไม้ - ดู man ps สำหรับตัวเลือกเพิ่มเติม)


5

ลองใช้คำสั่งนี้ มันทำในสิ่งที่คุณต้องการ คุณเพียงแค่ต้องติดตั้งahaและhtml2textก่อน

echo q | htop -C | aha --line-fix | html2text -width 999 | grep -v "F1Help" | grep -v "xml version=" > file.txt

1

1. บันทึกผลลัพธ์ของเทอร์มินัลลงในไฟล์

echo | htop  > /tmp/htop.out

//htop.out มี terminal save/load console_sequence

2. แสดงเอาต์พุตในเทอร์มินัล

head -c -10 /tmp/htop.out  | tail -c +10

// เพียงแค่ใช้ head & tail strip screen reset console_sequence
// 10ไบต์เป็นคร่าวๆ


0

ปกติฉันจะทำสิ่งต่อไปนี้:

top
control-c

จากนั้นเลื่อนขึ้นเพื่อให้ฉันสามารถคัดลอก / วาง:

rinzwind@schijfwereld:~$ top
top - 18:58:05 up 13 min,  2 users,  load average: 0,18, 0,35, 0,24
Tasks: 252 total,   1 running, 251 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3,4 us,  0,7 sy,  0,5 ni, 95,3 id,  0,1 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:  12190608 total,  2007692 used, 10182916 free,    50292 buffers
KiB Swap: 24414204 total,        0 used, 24414204 free.   739236 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 1093 rinzwind  20   0  364616   8824   7252 S   6,2  0,1   0:00.94 ibus-daemon 
 2525 rinzwind  20   0   29192   3048   2540 R   6,2  0,0   0:00.02 top         
    1 root      20   0  185008   5564   3840 S   0,0  0,0   0:00.77 systemd     
    2 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kthreadd    
    3 root      20   0       0      0      0 S   0,0  0,0   0:00.00 ksoftirqd/0 
    5 root       0 -20       0      0      0 S   0,0  0,0   0:00.00 kworker/0:+ 
    7 root      20   0       0      0      0 S   0,0  0,0   0:00.32 rcu_sched   
    8 root      20   0       0      0      0 S   0,0  0,0   0:00.00 rcu_bh      
    9 root      20   0       0      0      0 S   0,0  0,0   0:00.09 rcuos/0     
   10 root      20   0       0      0      0 S   0,0  0,0   0:00.00 rcuob/0     
   11 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 migration/0 
   12 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 watchdog/0  
   13 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 watchdog/1  
   14 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 migration/1 
   15 root      20   0       0      0      0 S   0,0  0,0   0:00.00 ksoftirqd/1 
   16 root      20   0       0      0      0 S   0,0  0,0   0:00.04 kworker/1:0 
   17 root       0 -20       0      0      0 S   0,0  0,0   0:00.00 kworker/1:+ 
rinzwind@schijfwereld:~$ 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.