プロセスの開始時間でps出力をソートする方法は?


回答:


87

これはLinuxおよびSysV5で動作するはずです

ps -ef --sort=start_time

これは要求どおりに機能します、ありがとう。より多くの掘削後、私はAWKのビットすることなく、このは、Mac OS上で可能であることを確認していない
ディーン・スミス

1
start_timeは機能しました。lstartはしませんでした。RHEL
フェリペ・アルバレス

1
順序を逆にする方法は?
プーグエン

2
@PhuNguyenはパーティーに少し遅れましたが、他の誰かがこれを使用している可能性があります。出力をでパイピングすることで順序を逆にすることができtacます。
ポール

1
@ステファンはこれを試してください:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
私は、開始時間によるそれらの種類のどちらも恐れていません。開始時刻は表示されますが、並べ替えはされません。
ディーンスミス

2
lstartとstart_timeの違いにも気づきました- lstart完全なタイムスタンプを提供しますが、ソートキーとして使用することはできません。start_time通常の「過去24時間以内の時間、それ以外の日付」列を提供し、ソートキーとして使用できます。両方とも、ヘッダーに「STARTED」と表示されます。
LHMathies

最後の時間内の時間:「AWK」のビットがいることを変更しない限り、プロセスが後で今日より時点で昨日発売されたならば、それは今日のプロセスの後に表示されますが...、ソートで使用することはできません
オリヴィエ・デュラック

@OlivierDulac:私ではありません。15/12 15:4016/12 15:39に現れるように、前に13:39現れる15:38
ゴーティエ14

1
lstartはうまくいきませんでした。start_timeがやった。
フェリペアルバレス

5

上記のすばらしい回答に加えて、時間、cpu%、およびメモリ使用量の降順でソートされたプロセス別に上位20の違反者を表示したい場合があります。

そのために私は使用します:

ps auxww --sort=lstart | sort -r -k3,4 | head -20

これはCentOSプラットフォームで行われますが、Fedoraでも同じ結果が得られました。

ああ、にやにや笑いのために、私は時々プロセスのセットを削除したいので、次のような少しのgrep -vアクションを含む上記のバリアントを使用します:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

--sortps私のために動作しません。シェルに依存していますsort。+1
ケルログ

3

まだコメントできませんが、時間の並べ替えの順序を逆にする方法についての質問に答えるに-は、フィールドの前にマイナス記号()を入力します。
例:ps -elf --sort=-start_time


2

または、 'ls'を試してください。並べ替えが簡単で、使いやすい時間形式が許可されています。

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

エポックで日付/時刻を出力します。最新のプロセスが一番上にあります。


これはPIDのみを表示します
有効

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.