Linux Centos 6,64
我正在使用以下命令在命令列中顯示 htop
htop -u 指令
我該如何讓它只顯示我從正在運行的命令列表中選擇的特定命令?
謝謝
答案1
參數中htop -u
是使用者名,不是命令。
監視特定命令的唯一選項是-p
,但這需要 PID,因此必須先將命令名稱轉換為 PID,這樣就pidof
可以了。
如果一個命令的多個實例正在運行,pidof
則傳回一個以空格分隔的 PID 列表,但該-p
選項採用逗號分隔的列表,因此pidof
必須轉換輸出:
htop -p $(pidof command | sed 's/ /,/g')
最好將其合併到函數或腳本中,在這種情況下,命令將是:
htop -p $(pidof "$1" | sed 's/ /,/g')
雖然我首先想到的sed
是批次編輯,但在這種情況下tr
可以使用更簡單的命令:
htop -p $(pidof "$1" | tr ' ' ',')
請注意,GUI 系統監視器(例如qps
和ksysguard
)可以過濾輸出並直接顯示特定命令(儘管基於文字的過濾器也可能會選取命令名稱(如果它碰巧出現在另一個命令的參數列表中))。