Visits

[+/-]
Today:
Yesterday:
Day before yesterday:
345
517
481

+36
This week:
Last week:
Week before last week:
2204
2962
3860

-898

Last month:
Month before last month:
8462
15650
24339

-8689

Visitor Data

IP ADDRESS
38.107.179.210
-
Location
United States
-
Browser
Unknown Browser
-
Operating System
Unknown Operating System


   
Add to: JBookmarks Add to: Bookmarks.cc Add to: Digg Add to: Reddit Add to: Upchuckr Add to: StumbleUpon Add to: Slashdot Add to: Blogmarks Add to: Technorati Add to: Newsvine Add to: Blinkbits Add to: Smarking Add to: Spurl Add to: Google Information
Understanding the 'ps' command

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