psコマンド: 'O'オプションを使用すると奇妙な動作、追加の列/ヘッダーが期待どおりに表示されない

psコマンド: 'O'オプションを使用すると奇妙な動作、追加の列/ヘッダーが期待どおりに表示されない

コマンド情報 - オプションを使用して、コマンドが使用psするオプションに応じて、基本ヘッダーを含む1つ以上の追加の列/タイトルを追加します。psO

紹介する

実行すると、ps x出力は次のようになります。

  PID TTY      STAT   TIME COMMAND
 1677 ?        Ss     0:00 /lib/systemd/systemd --user
 1679 ?        S      0:00 (sd-pam)
 1704 tty1     S+     0:00 -bash
 1961 tty4     S      0:00 -bash
 1973 tty4     S+     0:00 man ps
 1983 tty4     S+     0:00 pager
 2227 ?        S      0:00 sshd: manueljordan@pts/0
 2228 pts/0    Ss     0:00 -bash
 2307 ?        S      0:01 sshd: manueljordan@pts/1
 2308 pts/1    Ss     0:00 -bash
 2407 ?        S      0:00 sshd: manueljordan@pts/2
 2408 pts/2    Ss     0:00 -bash
 2437 pts/2    S+     0:00 less
 2846 pts/1    S+     0:00 man ps
 2856 pts/1    S+     0:00 pager
 2968 pts/0    R+     0:00 ps x 

私たちは基本的な列/タイトルセットを知っています。

簡単な確認を行う方法 - ifps xO %cpu出力は次のとおりです。

  PID %CPU S TTY          TIME COMMAND
 1677  0.0 S ?        00:00:00 systemd
 1679  0.0 S ?        00:00:00 (sd-pam)
 1704  0.0 S tty1     00:00:00 bash
 1961  0.0 S tty4     00:00:00 bash
 1973  0.0 S tty4     00:00:00 man
 1983  0.0 S tty4     00:00:00 pager
 2227  0.0 S ?        00:00:00 sshd
 2228  0.0 S pts/0    00:00:00 bash
 2307  0.0 S ?        00:00:01 sshd
 2308  0.0 S pts/1    00:00:00 bash
 2407  0.0 S ?        00:00:00 sshd
 2408  0.0 S pts/2    00:00:00 bash
 2437  0.0 S pts/2    00:00:00 less
 2846  0.0 S pts/1    00:00:00 man
 2856  0.0 S pts/1    00:00:00 pager
 2969  0.0 R pts/0    00:00:00 ps

今まではすべて大丈夫です。この記事を投稿する理由はありません

HEADERしたがって、理論的には、各項目に基づいて何でも追加できます。これはで得られる部分CODEによって異なります。STANDARD FORMAT SPECIFIERSman ps

今、この質問の経験に感謝します。

列/タイトルを表示しますPSR

状態

実行すると、ps xO psr出力は次のようになります。

  PID TTY      STAT   TIME COMMAND
 1677 ?        Ss     0:00 /lib/systemd/systemd --user
 1679 ?        S      0:00 (sd-pam)
 1704 tty1     S+     0:00 -bash
 1961 tty4     S      0:00 -bash
 1973 tty4     S+     0:00 man ps
 1983 tty4     S+     0:00 pager
 2227 ?        S      0:00 sshd: manueljordan@pts/0
 2228 pts/0    Ss     0:00 -bash
 2307 ?        S      0:01 sshd: manueljordan@pts/1
 2308 pts/1    Ss     0:00 -bash
 2407 ?        S      0:00 sshd: manueljordan@pts/2
 2408 pts/2    Ss     0:00 -bash
 2437 pts/2    S+     0:00 less
 2846 pts/1    S+     0:00 man ps
 2856 pts/1    S+     0:00 pager
 2975 pts/0    R+     0:00 ps xO psr

PSRあなたがこのことをしていることに気づいたらいいえ現れて、なぜ?

ただし、ps xO %cpu,psr実行すると、出力は次のようになります。

  PID %CPU PSR S TTY          TIME COMMAND
 1677  0.0   1 S ?        00:00:00 systemd
 1679  0.0   2 S ?        00:00:00 (sd-pam)
 1704  0.0   1 S tty1     00:00:00 bash
 1961  0.0   0 S tty4     00:00:00 bash
 1973  0.0   1 S tty4     00:00:00 man
 1983  0.0   2 S tty4     00:00:00 pager
 2227  0.0   3 S ?        00:00:00 sshd
 2228  0.0   3 S pts/0    00:00:00 bash
 2307  0.0   3 S ?        00:00:01 sshd
 2308  0.0   3 S pts/1    00:00:00 bash
 2407  0.0   0 S ?        00:00:00 sshd
 2408  0.0   0 S pts/2    00:00:00 bash
 2437  0.0   0 S pts/2    00:00:00 less
 2846  0.0   0 S pts/1    00:00:00 man
 2856  0.0   0 S pts/1    00:00:00 pager
 2981  0.0   0 R pts/0    00:00:00 ps

またはps xO uname,psr実行されると、出力は次のようになります。

  PID USER     PSR S TTY          TIME COMMAND
 1677 manuelj+   1 S ?        00:00:00 systemd
 1679 manuelj+   2 S ?        00:00:00 (sd-pam)
 1704 manuelj+   1 S tty1     00:00:00 bash
 1961 manuelj+   0 S tty4     00:00:00 bash
 1973 manuelj+   1 S tty4     00:00:00 man
 1983 manuelj+   2 S tty4     00:00:00 pager
 2227 manuelj+   3 S ?        00:00:00 sshd
 2228 manuelj+   3 S pts/0    00:00:00 bash
 2307 manuelj+   3 S ?        00:00:01 sshd
 2308 manuelj+   3 S pts/1    00:00:00 bash
 2407 manuelj+   0 S ?        00:00:00 sshd
 2408 manuelj+   0 S pts/2    00:00:00 bash
 2437 manuelj+   0 S pts/2    00:00:00 less
 2846 manuelj+   0 S pts/1    00:00:00 man
 2856 manuelj+   0 S pts/1    00:00:00 pager
 2982 manuelj+   0 R pts/0    00:00:00 ps

ヘッダーと一緒に1つ以上の他の追加ヘッダーが追加された後に出力にのみ表示されるPSRことPSRを宣言すると、どうすればわかりますか?

PSRオプションで独自のヘッダーを追加する方法を宣言するときにヘッダーが表示されないのはなぜですかO?何らかの理由でこれが予想される動作ですか?

ベストアンサー1

Oインポートするフィールドによって動作が異なり、しばしば非常に混乱する可能性があるため、これらのオプションを使用しないことをお勧めします。

それでは、それを見て、それが(最後に使用されたプロセッサ)列を並べ替えてps xO psr表示する必要があることを意味すると思いますか?PSR

これは実際には行われません。

@steeldriverが上から釘付けでしたが、前のキーでソートしています。したがって、pspid "p"、サイズ "s"、RSS "r"の並べ替えを要求します。ソートの順序は異なりますが、rsporでソートすることは同じようにうまく機能します。spr

なぜ状況が変わるのですか?ps xO psr,%cpuそれともps xO psr,psrそれのために状況を変えますか? psは現在、以前のソートキーを必要とせず、ソートに列名を使用していることに気づきました。

おすすめ記事