I am trying to figure out how to get the top k number of processes in a linux shell. Obviously the first thing that popped into my head is top, but it does not seem to have any parameter to specify the number of processes to print.
Using batch mode and number of iterations parameters, I can get it to produce one iteration of all the processes and store the output, but I cannot find a way to abridge the list to a certain number. (Granted I could just get the whole list and crop it off, but the system I am using it on has 27000 processes running, so it takes a few seconds to retrieve the list).
Example:
>top -b -n1 >... (lots more processes here) >26416 mcm101 20 0 4188 176 96 S 0.0 0.0 0:00.00 character_count >26604 root 20 0 180m 5684 3532 S 0.0 0.0 0:00.54 sshd >26616 pwf7 20 0 105m 1792 1432 S 0.0 0.0 0:00.10 bash What I want is something like this:
>top k >1 mcm101 20 0 4188 176 96 S 0.0 0.0 0:00.00 character_count >2 pwf7 20 0 105m 1792 1432 S 0.0 0.0 0:00.10 bash >... (more processes here) >k root 20 0 180m 5684 3532 S 0.0 0.0 0:00.54 sshd Does anyone know how to use top or any other command(s) to achieve this result?
kprocesses ?