簡體   English   中英

使用 top 從 PID 和 COMMAND 獲取前 5 行

[英]Getting the first 5 lines from PID and COMMAND using top

嗨,我正在努力弄清楚如何在打開頂部時獲得 PID 和 COMMAND 標頭的前 5 行

目前我正在使用

top | awk '{print $1,$2}NR==5{exit}'

這顯然很煩人地給我這個:

Processes: 390
2021/12/17 13:47:48
Load Avg:
CPU usage:
SharedLibs: 146M

使用您顯示的示例,請嘗試以下代碼。 由於您需要前 5 個 PID 詳細信息,因此此處無法打印前 5 行。 所以跳過頂部的 output 中的前 6 行(關於系統細節)。

top -b | awk 'FNR>=7 && FNR<=12{print $1};FNR==12{exit}'

說明:上述代碼的簡單解釋是,將top命令的 output 傳遞給awk作為標准輸入。 然后在awk程序中檢查條件,如果行號是從第 7 到第 12,然后打印它並在第 12 行退出程序。

其中top -b選項的定義如下man top

b:批處理模式操作 在批處理模式下啟動 top,這對於將 output 從 top 發送到其他程序或文件可能很有用。 在這種模式下,top 將不接受輸入並運行,直到您使用 `-n' 命令行選項設置的迭代限制或直到被殺死。

top -b|head -12|tail -6|awk '{print $1, $NF}'
top -b -n 1|awk 'FNR>=7 && FNR<=12{print $1, $NF}'
top -b -n 1|sed -n 7,12p|awk '{print $1, $NF}'

對於 MAC OS X,命令是:

top -a -n20 | awk 'FNR>=11 && FNR<=31{print $0};FNR==31{exit}' > cpustat.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM