web-dev-qa-db-ja.com

トップのプロセスの完全なリストを表示する方法

「top」を実行すると、多くのプロセスが実行されており、その多くがスリープ状態になっていることがわかります。その時点ですべてのプロセスの完全なスナップショットを確認する必要があります。 「トップ」は、1つの画面に収まるプロセスのリストを表示できます。完全なリストを取得するにはどうすればよいですか?

特に、「スリープ」状態にあるすべてのプロセスのリストを確認することに興味があります。 "ps"コマンドの出力でプロセスの状態を取得できるとは思いません

14
xyz

top -bがトリックをしているようです。

16
xyz

Coreutils psでプロセスの状態を取得できます

$ ps aux

そのすべてを一覧表示します。以下は、manページからそれらをデコードする方法です。

プロセス状態コード

プロセスの状態を説明するためにs、stat、およびstate出力指定子(ヘッダー "STAT"または "S")が表示するさまざまな値を次に示します。

   D    uninterruptible sleep (usually IO)
   R    running or runnable (on run queue)
   S    interruptible sleep (waiting for an event to complete)
   T    stopped, either by a job control signal or because it is being traced.
   W    paging (not valid since the 2.6.xx kernel)
   X    dead (should never be seen)
   Z    defunct ("zombie") process, terminated but not reaped by its parent.

BSD形式の場合、およびstatキーワードを使用すると、追加の文字が表示されることがあります。

   <    high-priority (not Nice to other users)
   N    low-priority (Nice to other users)
   L    has pages locked into memory (for real-time and custom IO)
   s    is a session leader
   l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
   +    is in the foreground process group.
4
Mat