ps command in detail




Here are the possible codes when using state "$ ps -e -o state,cmd"





PROCESS STATE CODES

D uninterruptible sleep (usually IO)

R runnable (on run queue)

S sleeping

T traced or stopped

Z a defunct ("zombie") process



< high-priority (not nice to other users)

N low-priority (nice to other users)

L has pages locked into memory (for real-time and

custom IO)

s is a session leader

l is multi-threaded (using CLONE_THREAD, like

NPTL pthreads do)

+ is in the foreground process group



For instance:



Note that the -o is for user defined, and -e is for select

all process.



$ ps -e -o pid,state,start,time,etime,cmd



...

9946 S 15:40:45 00:00:00 02:23:29 /bin/bash -i

9985 T 15:41:24 00:00:01 02:22:50 emacs mout2

10003 T 15:43:59 00:00:00 02:20:15 emacs NOTES

10320 T 17:38:42 00:00:00 25:32 emacs stuff.c

...



You may want to command below, without the -e, which will give the

process only under the current terminal.



$ ps -o pid,state,start,time,etime,cmd



Want to find what 's impacting your load?



$ ps -e -o %cpu,pid,state,start,time,etime,%cpu,%mem,cmd|sort

-rn|less







$ ps aux



USER PID %CPU %MEM VSZ RSS TTY STAT START

TIME COMMAND

root 1 0.0 0.0 1380 480 ? S Aug04

0:00 init [3]

root 2 0.0 0.0 0 0 ? SWN Aug04

0:00 [ksoftirqd/0]

root 3 0.0 0.0 0 0 ? SW< Aug04

0:00 [events/0]

root 4 0.0 0.0 0 0 ? SW< Aug04

0:00 [khelper]

...



Or, if you want to see the environment add the -e option



$ ps aeux



...

chirico 2735 0.0 0.1 4400 1492 pts/0 S Aug04

0:00 -bash USER=chirico LOGNAME=chirico HOME=/home/chirico PATH=/usr/

chirico 2771 0.0 0.0 4328 924 pts/0 S Aug04

0:00 screen -e^Pa -D -R HOSTNAME=third-fl-71.localdomain TERM=xterm S

chirico 2772 0.0 0.6 9476 6352 ? S Aug04

0:54 SCREEN -e^Pa -D -R HOSTNAME=third-fl-71.localdomain TERM=xterm S

chirico 2773 0.0 0.1 4432 1548 pts/1 S Aug04

0:10 /bin/bash STY=2772.pts-0.third-fl-71 TERM=screen TERMCAP=SC|scre

chirico 2797 0.0 0.1 4416 1496 pts/2 S Aug04

0:00 /bin/bash STY=2772.pts-0.third-fl-71 TERM=screen TERMCAP=SC|scre

root 2821 0.0 0.0 4100 952 pts/2 S Aug04

0:00 su -

root 2822 0.0 0.1 4384 1480 pts/2 S Aug04

0:00 -bash

chirico 2862 0.0 0.1 4428 1524 pts/3 S Aug04

0:00 /bin/bash STY=2772.pts-0.third-fl-71 TERM=screen TERMCAP=SC|scre

sporkey 2946 0.0 0.2 6836 2960 ? S Aug04

0:15 fetchmail

chirico 2952 0.0 0.1 4436 1552 pts/5 S Aug04

0:00 /bin/bash STY=2772.pts-0.third-fl-71 TERM=screen TERMCAP=SC|scre

chirico 3880 0.0 0.1 4416 1496 pts/6 S Aug05

0:00 /bin/bash STY=2772.pts-0.third-fl-71 TERM=screen TERMCAP=SC|scre

root 3904 0.0 0.0 4100 956 pts/6 S Aug05

0:00 su - donkey

donkey 3905 0.0 0.1 4336 1452 pts/6 S Aug05

0:00 -bash

donkey 3938 0.0 0.2 6732 2856 ? S Aug05

0:14 fetchmail

chirico 3944 0.0 0.1 4416 1496 pts/7 S Aug05

0:00 /bin/bash STY=2772.pts-0.third-fl-71 TERM=screen TERMCAP=SC|scre

...



There is also a -f "forrest" option. Also note below " -bash" is

the start of a login shell.



$ ps aeuxwwf



The ww option above gives a wide format with all variables. Use

the above command if you plan

to parse through a Perl script. Otherwise, it may be easier to do

a quick read using the command

below, without "ww".



$ ps aeuxf



...

root 2339 0.0 0.1 3512 1444 ? S Dec01

0:00 /usr/sbin/sshd

root 25651 0.0 0.1 6764 1980 ? S Dec23

0:00 \_ /usr/sbin/sshd

chirico 25653 0.0 0.2 6840 2236 ? S Dec23

0:14 \_ /usr/sbin/sshd

chirico 25654 0.0 0.1 4364 1440 pts/4 S Dec23

0:00 \_ -bash USER=chirico LOGNAME=chirico HOME=/home/chirico

chirico 25690 0.0 0.0 4328 920 pts/4 S Dec23

0:00 \_ screen -e^Pa -D -R

HOSTNAME=third-fl-71.localdomain TERM=xterm

root 2355 0.0 0.0 2068 904 ? S Dec01

0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid

...



It is also possible to list the process by command line. For

example, the following command will only list the emacs

processes.



$ ps -fC emacs

UID PID PPID C STIME TTY TIME CMD

chirico 5049 5020 0 May11 pts/13 00:00:00 emacs -nw Notes

chirico 12368 5104 0 May12 pts/18 00:00:00 emacs -nw dnotify.c

chirico 19792 18028 0 May13 pts/20 00:00:00 emacs -nw hello.c

chirico 14034 27367 0 18:52 pts/8 00:00:00 emacs -nw

How_to_Linux_and_Open_Source.txt



You may also want to consider using top in batch mode. Here the

"-n 1" means refresh once,

and the "b" is for batch. The "fmt -s" is to put it in a more

readable format.



$ top -n 1 b |fmt -s >>statfile




      Explore your hobbies and interests. Go to 
http://in.promos.yahoo.com/groups/

[Non-text portions of this message have been removed]

Reply via email to