Bash

如何使top只顯示一組匹配特定模式的程序?

  • October 5, 2020

我想顯示命令行包含.*git.*using的所有程序top

我考慮過以下命令:top -p $(pgrep -d',' -f '.*git.*')

但是,上述命令有幾個注意事項:

  • 只有在執行時存在的程序top才會包含在top的輸出.*git.*中(不包括 new )。
  • man top表示最多可以使用該-p標誌指定 20 個程序,這可能還不夠。

如何在終端中顯示目前程序的動態top視圖?.*git.*

您可以top使用“在視窗中過濾”來執行此操作:開始top,然後按O,然後輸入

COMMAND=git

這將過濾程序,匹配COMMAND列並僅保留該列中可見值包含的程序git

COMMAND列上過濾時,過濾器適用於目前顯示的值 - 正在執行的程序的名稱或其完整的命令行。這可以通過按c或使用-c參數來切換;top在呼叫之間記住狀態。請注意,過濾器僅適用於欄位的可見部分;如果在列上過濾時COMMAND,如果它不是完全可見或者它不夠寬以包含命令行的相關部分,這可能是一個重要的問題。有關詳細資訊,請參閱中的COMMAND欄位說明man top

過濾器是累積的,可以通過按 清除=。詳見第 5e 節man top

據我所知,沒有等效的命令行選項。

引用自:https://unix.stackexchange.com/questions/612943