ps command : NIX Classes
May 21, 2012 Leave a comment
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