The ps command stands for "process status" and it is used to provide various information about the currently running processes.
Every process is an executing instance of a program which is assigned a unique PID (process identification numbers) by the system.

The basic syntax of ps is:
ps [options]

This command can be used without any option and by doing this you will get the standard output, which is the display monitor by default with four items of information for at least two processes currently on the system: the shell and ps.
Since we have already saw PID before, the TTY information that stands for terminal type (originally teletype) is the console (or terminal) in which the user logged into.
TIME is very simple: is the amount of CPU time in minutes and seconds that the process has been running. CMD is simply the name of the command that launched the process.
Here you will find some common option combinations

ps aux | less
  • The -a option is used to list the processes of all users on the system.
  • The -u option tells ps to provide detailed information about each process.
  • The -x option adds to the list, processes that have no controlling terminal (programs launched during booting).

This can be piped to the less command (see our section pipe), which let us to view all processes in one screenfull at a time.
Another way to view all processes running on the system is:

ps ef | less
  • The -e option is used to generate a list of information about every process (currently running).
  • The -f option provides a list that contains some information for each process.

This is very useful, it can be used for example to control UID information (username of the account that owns the process) and STIME to know when the process started, or the starting date.
In the end the ps is very powerful if we know how to use it. If you need to kill a process you can list all process in various ways and search for the process you need to kill by reading its PID or by UID for example.