ps -ef vs ps aux

What is the difference between

ps -ef | grep thin  

and

ps aux | grep thin

As per the output there is a variation but i'm not clear what are the things being listed.


Both list all processes of all users. In that aspect -e and ax are completely equivalent.

Where they differ is output format specifier, -f is "full", while u is "user-oriented". The displayed columns are different:

  • columns for ps -f

UID PID PPID C STIME TTY TIME CMD

  • columns for ps u

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND


There are no differences in the output because the meanings are the same.

The difference between ps -ef and ps aux is due to historical divergences between POSIX and BSD systems. At the beginning, POSIX accepted the -ef while the BSD accepted only the aux form.

Today, both systems accept the two forms.