aix:psを時間でソートする方法は?

aix:psを時間でソートする方法は?

AIXで最初の10個のCPUプロセスを使用する場合

ps aux | head -1; ps aux | sort -rn +2 | head -10

最初の10のメモリプロセスの場合

ps aux | head -1; ps aux | sort -rn +3 | head -10

出力を時間ごとにどのようにソートできますか?

stimeは9列ですが

ps aux | head -1; ps aux | sort -rn +8 | head -10

この結果を教えてください。時間でソートされていません。

user 14614674  0,0  0,0  168  176  pts/0 T    14:23:23  0:00 cat 
user 13041722  0,0  0,0  168  176  pts/0 T    14:25:59  0:00 cat 
user 12517628  0,0  0,0  168  176  pts/0 T    14:22:26  0:00 cat 
user  9043992  0,0  0,0  168  176  pts/0 T    14:23:13  0:00 cat 
user 14745724  0,0  0,0  168  176  pts/0 T    13:47:11  0:00 cat 

ベストアンサー1

+8(9番目のフィールドで始まる行の部分ソート)または(9番目の+8 -9フィールドのソート)は、廃止されたソートキー仕様構文です。 modern:とに切り替えることをお勧めします。-k 9-k 9,9

あなたの場合、ソートキー-nは数字で解析されます。つまり、9番目のフィールドから始まり、行の終わりで終わる行の部分が数値に変換され、その数値がソートに使用されます。

つまり、時間部分のみが考慮されます。

考慮すべき分と秒について、次のことができます。

ps aux | sort -r -k9n -k9,9

その後、時間的比較接続のために語彙比較が行われる。朝の時間が書き込まれていない02:12場合は、2:12それを実行してsort -rk9語彙比較を実行できます。

昨日、または以前に開始されたプロセスがあると、動作しない可能性があります。

おすすめ記事