Is there a way to sort ps output by process start time, so newest are either at the top or bottom ?

On Linux ?

On SysV5 ?

On Mac ?

link|improve this question
feedback

3 Answers

up vote 12 down vote accepted

This should work on Linux and SysV5

ps -ef --sort=start_time
link|improve this answer
This works exactly as requested, thanks. After more digging I am not sure this is possible on Mac OS without a bit of awk – Dean Smith Jun 18 '09 at 9:50
feedback

Linux:

$ ps aux --sort=lstart

OSX:

$ ps aux -O started
link|improve this answer
1  
I'm afraid neither of those sorts by start time. It does display the start time, but doesn't sort. – Dean Smith Jun 18 '09 at 9:45
The difference between lstart and start_time caught me out as well -- lstart gives a full timestamp, but cannot be used as a sort key. start_time gives the usual 'time within the last 24 hours, date otherwise' column, and can be used as a sort key. Both give 'STARTED' in the header. – LHMathies Apr 5 at 8:22
feedback

Along with the great answers above, sometimes I just want to see the top 20 offenders by process sorted descending by time, cpu% and memory usage.

For that I use:

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

This would be on a CentOS platform, though I've enjoyed the same results on Fedora as well.

Oh and for grins, I sometimes want to remove a set of processes, so I simply use a variant on the above that includes a bit of grep -v action, such as:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.