Process

為什麼htop顯示的程序比ps

  • January 7, 2020

ps xf

26395 pts/78   Ss     0:00  \_ bash
27016 pts/78   Sl+    0:04  |   \_ unicorn_rails master -c config/unicorn.rb                                           
27042 pts/78   Sl+    0:00  |       \_ unicorn_rails worker[0] -c config/unicorn.rb                                        

htop中,它顯示為: htop 顯示多條 unicorn_rails 線

為什麼 htop 顯示的程序比 ps 多?

預設情況下,htop單獨列出程序的每個執行緒,而ps沒有。要關閉執行緒的顯示,請按H,或使用“設置/顯示選項”菜單、“隱藏使用者態執行緒”。這會將以下行放入您的~/.htoprcor中~/.config/htop/htoprc(您也可以手動將其放在那裡):

hide_userland_threads=1

(另外hide_kernel_threads=1,按 切換K,但預設為 1。)

另一個有用的選項是在同一菜單 ( highlight_threads=1in .htoprc) 中的“以不同顏色顯示執行緒”,這會導致執行緒以不同顏色顯示(預設主題為綠色)。

htop顯示的第一行,有一行像“Tasks: 377, 842 thr, 161 kthr; 2 執行”。這顯示了程序、使用者態執行緒、核心執行緒和處於可執行狀態的執行緒的總數。當您過濾顯示時,數字不會改變,但是當您分別關閉包含使用者/核心執行緒時,指示“thr”和“kthr”會消失。

當您看到除 PID 和 CPU 相關欄位(NIce 值、CPU%、TIME+、…)之外具有所有共同特徵的多個程序時,它們很可能是同一程序中的執行緒。

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