5

Which files does the linux command "top" read from in order to build its table of data? Specifically, I'd like to be able to find the data for the "command" column based off of a PID.

1
  • What sort of data are you looking for? Full path and arguments? other? Commented Sep 17, 2009 at 20:10

3 Answers 3

9

It's in /proc/$pid/cmdline. The fields are nul separated. Example on my machine:

$ xargs -0 echo < /proc/4263/cmdline 
/usr/lib64/firefox-3.5.3/firefox -no-remote -P default
$
1

top gets its information from the files found in procfs aka /proc

you can query based off the pid by using

ps

unfortunately i don't recall the syntax of the command...

1
  • 1
    "man ps" or "ps --help" Commented Sep 17, 2009 at 20:08
1

You can use ps to get the name of the command link to a particular PID

ps [PID]

It will also give you additional information based on the parameters you pass. See here for more details.

Alternatively you can download the top source code which should give you a more precise answer to the question.

Also this PerlMonks article explains how to simulate top on a AIX system, which also makes use of the ps command.

2
  • 1
    The example code shows PS (upper-case). Linux newbies beware, that won't work -- use "ps" (lower-case). The rest of you already knew that. Commented Sep 17, 2009 at 20:13
  • @Doug - Fixed. Oversight on my side. Thanks for clarifying. Commented Sep 18, 2009 at 5:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .