Americas

  • United States
sandra_henrystocker
Unix Dweeb

Long listings for the ps command

Analysis
Aug 07, 20083 mins
Data CenterLinuxOpen Source

Ever jump onto a Unix system to help resolve a critical problem and find that the information you most want to see in your ps output has run off the right edge of your terminal window? Who hasn’t? Fortunately, the various flavors of Unix have command options to allow you to view the text that is normally truncated.

On Linux systems, for example, there is an “l” (long) option that will turn output such as this:

# ps -ef | egrep "apache|CMD"
UID        PID  PPID  C STIME TTY          TIME CMD
root     13379     1  0 Jul31 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon   21193 13379  0 Aug01 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon    7674 13379  0 Aug04 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon    7767 13379  0 Aug04 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon    7768 13379  0 Aug04 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon    7772 13379  0 Aug04 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon    7773 13379  0 Aug04 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon   12341 13379  0 Aug06 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon   13810 13379  0 Aug06 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon   13811 13379  0 Aug06 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s
daemon   13812 13379  0 Aug06 ?        00:00:00 /var/local/ap
ache/bin/httpd -k s

into output that looks like this:

# ps -elf | egrep "apache|CMD"
  F S UID        PID  PPID  C PRI  NI ADDR    SZ WCHAN  STIME 
TTY          TIME CMD
140 S root     13379     1  0  75   0    -  1234 schedu Jul31 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon   21193 13379  0  75   0    -  1289 schedu Aug01 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon    7674 13379  0  75   0    -  1289 schedu Aug04 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon    7767 13379  0  75   0    -  1289 schedu Aug04 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon    7768 13379  0  75   0    -  1289 schedu Aug04 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon    7772 13379  0  75   0    -  1289 schedu Aug04 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon    7773 13379  0  75   0    -  1289 schedu Aug04 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon   12341 13379  0  75   0    -  1289 schedu Aug06 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon   13810 13379  0  75   0    -  1286 schedu Aug06 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon   13811 13379  0  75   0    -  1286 schedu Aug06 
?        00:00:00 /var/local/apache/bin/httpd -k start
140 S daemon   13812 13379  0  75   0    -  1286 schedu Aug06 
?        00:00:00 /var/local/apache/bin/httpd -k start

You not only get the complete command line, but several extra fields are included. For example, WCHAN, which indicates the event on which the process is waiting, is shown in the 11th column in this output.

Solaris systems, on which I spend most of the e-time, also provide the “l” (long) option, though they generally wrap the ps output onto the following line rather than truncate ps output.

Mac OS X systems, which still use the “aux” version of the ps command, offer a “w” (wide) option which provides 132 columns in ps output instead of the default 80.

The order in which the arguments to ps arguments are presented is arbitrary, though I have always seen “ef” and “aux” as the standards, maybe because the letters in the argument list are in alphabetical order. I prefer “elf” to “efl” since its an easy-to-remember and friendly word and “uwax” to “auwx” for a similar reason, but you can adopt whatever argument order appeals to you.

sandra_henrystocker
Unix Dweeb

Sandra Henry-Stocker has been administering Unix systems for more than 30 years. She describes herself as "USL" (Unix as a second language) but remembers enough English to write books and buy groceries. She lives in the mountains in Virginia where, when not working with or writing about Unix, she's chasing the bears away from her bird feeders.

The opinions expressed in this blog are those of Sandra Henry-Stocker and do not necessarily represent those of IDG Communications, Inc., its parent, subsidiary or affiliated companies.