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

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

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

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

答え1

top -b効果があるようです。

答え2

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.

関連情報