How to run ''top'' command 1 time and exit?

Solution 1:

The -n switch is what you search:

user@host:~$ top -n 1

See the manpage

   -n : Number of iterations limit as:  -n number
        Specifies the maximum number of iterations, or frames, top should produce before ending.

If you want to stop top command just press q.

Notice: If you tend to use top in a script, I need to say top is not meant for scripts, use ps instead.

Solution 2:

notice that if you would like to keep "top" command for a script, you could use -b option ("-b" option means "batch mode operation"), this option allows you to redirect the output into a file.

Examples:

  • top one shoot batch mode : top -bn 1 2>&1 1> /tmp/topN
  • top sorted by memory usage one shoot batch mode : top -ban 1 2>&1 1> /tmp/topAN