GNU/Linux >> Linux の 問題 >  >> Linux

ps は Linux でカーネル以外のプロセスのみを表示できますか?

これで (Linux の場合):

ps --ppid 2 -p 2 --deselect

kthreadd (PID 2) は PPID 0 (Linux 2.6 以降) ) しかし ps PPID 0 のフィルタリングを許可しません。したがって、この回避策です。


カーネル プロセスを認識する 1 つの方法は、それらがユーザー メモリをまったく使用しないため、vsz フィールドが 0 であることです。これはゾンビもキャッチし (この観察については Stephane Chazelas に感謝します)、ステータスに基づいて排除することができます。

ps axl | awk '$7 != 0 && $10 !~ "Z"'

PID のみを一覧表示するには:

ps -e -o pid= -o state= -o vsize= | awk '$2 != "Z" && $3 != 0 {print $1}'

実際には、次のイディオムで十分であることがわかりました:

ps auxf | grep -v ]$

括弧で終わる行をフィルタリングします。可能性 不要なエントリが省略されますが、その可能性はほとんどありません。引き換えに、非常に覚えやすく、比較的すばやく入力できます。

avahi-daemon などの一部のプロセスは、括弧内のプロセス名情報 (avahi-daemon の場合はホスト名) に追加され、このコマンドによって除外されます。


Linux
  1. Linuxpsコマンド

  2. Linuxlsコマンド

  3. トップ コマンドを制限して、コマンド ラインでトップ X プロセスのみを表示する

  1. Linux カーネルはどうしてこんなに小さいのでしょうか?

  2. Linux カーネルはいくつのコアを処理できますか?

  3. Linux カーネル スレッドは本当にカーネル プロセスですか?

  1. なしでは生きていけないLinuxカーネルモジュール

  2. Linux – Initプロセス:すべてのプロセスの祖先?

  3. Linux カーネルからメモリのブロックを予約するにはどうすればよいですか?