ps command : NIX Classes

The ps (process status) command is used to provide information about the currently running processes, including their process identification numbers (PIDs).
A process, also referred to as a task, is an executing (i.e., running) instance of a program. Every process is assigned a unique PID by the system.

The basic syntax of ps is

ps [options]

Options

-a     Displays all processes on a terminal, with the exception of group leaders.
-c     Displays scheduler data.
-d     Displays all processes with the exception of session leaders.
-e     Displays all processes.
-f     Displays a full listing.
-glist     Displays data for the list of group leader IDs.
-j     Displays the process group ID and session ID.
-l     Displays a long listing
-plist     Displays data for the list of process IDs.
-slist     Displays data for the list of session leader IDs.
-tlist     Displays data for the list of terminals.
-ulist     Displays data for the list of usernames.

The Default Output

linux@atul:/home/atul $ ps
PID    TTY  TIME CMD
3567696  pts/2  0:00 ps
4391144  pts/2  0:00 -ksh

The Process list output for user smaadmp7

linux@atul:/home/atul $ ps -u smaadmp7
UID     PID    TTY  TIME CMD
1930  299258      -  0:01 dsapi_server
1930  671930      -  0:01 dsapi_slave
1930  696452      -  0:17 dsapi_slave
1930  790608      -  0:00 dsapi_server
1930 1200174      -  0:01 dsapi_server
1930 1634556      -  0:15 dsapi_slave
1930 1687662      -  0:00 dsapi_server
1930 1757284      -  0:00 dsapi_slave
1930 1790152      -  0:00 dsapi_server
1930 2081022      -  0:00 dsapi_server
1930 2158782      -  0:47 dsapi_slave
1930 2289812      -  0:00 dsapi_server

The -a option tells ps to list the processes of all users on the system rather than just those of the current user

linux@atul:/home/atul $ ps -a
PID    TTY  TIME CMD
1294566  pts/8  0:00 sleep
1884294  pts/5  0:00 ksh
2240748  pts/3  0:19 topas_nmon
3813422         0:00 <defunct>
4661352 pts/12  0:00 tail
4710552  pts/8  0:00 ksh
5263386  pts/3  0:00 ksh
5558486 pts/11  0:01 topas_nmon
6266958  pts/2  0:00 ps
6885508 pts/13  0:00 ksh
7254052  pts/4  0:00 ksh
8024154 pts/11  0:00 ksh

Own output format
If you are bored by the regular output, you could simply change the format. To do so use the formatting characters which are supported by the ps command.
If you execute the ps command with the ‘o’ parameter you can tell the ps command what you want to see:

linux@atul:/home/atul $ ps -o "%u : %U : %p : %a"
RUSER       USER       PID   COMMAND
atul : atul : 2256934 : ps -o %u : %U : %p : %a
atul : atul : 4391144 : -ksh

Log listing
The -l option generates a long listing
The additional columns of most interest are NI and SZ. The former shows the nice value of the process, which determines the priority of the process. The higher the value, the lower the priority. The default nice value is 0 on NIX systems.
The latter displays the size of the process in memory. The value of the field is the number of pages the process is occupying. On Linux systems a page is 4,096 bytes.

linux@atul:/home/atul $ ps -l
F S  UID     PID    PPID   C PRI NI ADDR    SZ    WCHAN    TTY  TIME CMD
200001 A 2291 3305488 4391144   3  61 20 432309400  1788           pts/2  0:00 ps
240001 A 2291 4391144 5161086   0  60 20 3430d7400   792           pts/2  0:00 ksh

The -e option generates a list of information about every process currently running. The -f option generates a listing that contains fewer items of information for each process than the -l option.

linux@atul:/home/atul > ps -ef | more
UID     PID    PPID   C    STIME    TTY  TIME CMD
root       1       0   0   Apr 28      -  6:21 /etc/init
root  102518       1   0   Apr 28      - 23:31 /usr/sbin/syncd 60
root  106530       1   0   Apr 28      -  0:00 /usr/sbin/uprintfd
root  127116       1   0   Apr 28      -  0:10 /usr/ccs/bin/shlap64
root  135190  204998   0   Apr 28      -  4:39 /opt/IBM/ITM/aix526/ux/bin/stat_daemon 12
root  147644  323618   0   Apr 28      -  0:02 /usr/sbin/portmap
root  163990       1   0   Apr 28      -  0:00 /usr/lib/errdemon
root  192710  323618   0   Apr 28      -  0:00 haemd HACMP 1 CCMP0 SECNOSUPPORT
root  204998       1   0   Apr 28      - 2352:55 /opt/IBM/ITM/aix526/ux/bin/kuxagent
root  209066  135190   0   Apr 28      -  0:06 /opt/IBM/ITM/aix526/ux/bin/ifstat 30 7
root  217206  286754   0 08:18:21      -  0:00 sshd: mahendra [priv]
root  229520  323618   0   Apr 28      -  0:00 /usr/sbin/rsct/bin/IBM.ServiceRMd
root  233604  323618   0   Apr 28      -  5:59 /usr/sbin/snmpd -c /etc/snmpd.conf
root  241798  135190   0   Apr 28      -  0:59 /opt/IBM/ITM/aix526/ux/bin/nfs_stat AIX 30 9
root  249928       1   0   Apr 28      -  0:11 /tivoli_ep_B/opt/Tivoli/lcf/bin/aix4-r1/mrt/lcfd
root  253990       1   0   Apr 28      -  3:53 /opt/IBM/ITM/aix526/ul/bin/kulagent
root  258098  135190   0   Apr 28      -  2:00 /opt/IBM/ITM/aix526/ux/bin/kux_vmstat 30 6

 
 

keep scripting…….
©Victimizeit

About victimizeit
This is Atul.. working for IBM as a DataStage Developer. I may not be an expert on any particular DataStgae technology, but I'm sure I do know a few things about DB2, AIX, Unix, Windows, and DataBase. In this blog, I'll give out some tips on these subjects. If you find them useful, great, I'll be happy. Thanks for stopping by !!

What is your opinion ?