
存在する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がpsよりも多くのプロセスを表示するのはなぜですか?
答え1
デフォルトでは、htop
プロセスの各スレッドは個別にリストされますが、ps
そうではありません。スレッド表示をオフにするには、を押すH
か、[設定/表示オプション]メニューの[ユーザースペーススレッドを非表示]を使用します。これにより、~/.htoprc
orに次の行が入力されます~/.config/htop/htoprc
(手動で入力することもできます)。
hide_userland_threads=1
(hide_kernel_threads=1
ボタンを押して切り替えることもできますが、K
デフォルトは1です。)
別の便利なオプションは、同じメニュー(highlight_threads=1
in .htoprc
)にある「異なる色でスレッドを表示する」です。このオプションを使用すると、スレッドは異なる色(デフォルトのテーマでは緑色)で表示されます。
ディスプレイの最初の行には、htop
「Tasks:377、842 thr、161 kthr;」などの行があります。 2 Running". これは、実行可能状態のプロセス、ユーザー領域スレッド、カーネルスレッド、およびスレッドの総数を表示します。表示が消えます。
PIDフィールドとCPU関連フィールド(NIce値、CPU%、TIME +など)を除いて、すべての属性が共通する複数のプロセスを見ると、同じプロセス内のスレッドである可能性が高くなります。
答え2
私の現在のアーチLinuxシステムでは、ps xf
私のユーザーIDが所有しているプロセスのみが表示されます。 htop
すべてのプロセスを表示します。ps -ef
すべてのプロセスリストをインポートするか、子ps -ejH
/親関係リストをインポートします。
答え3
htopは終了したプロセスも表示します。これは、一時プロセスとそのプロセスが消費できるリソースを特定するのに最適な機能です。 htopを終了して再起動すると、そのエントリが消えたことがわかります。再起動せずにhtopに履歴プロセスを削除させる方法を考えることができないため、方法があるかもしれません。