ps
Report process status (POSIX)
Syntax:
ps [-aAdEfl] [-[gG] grplist] [-o format]... [-n namelist]
[-p proclist] [-t termlist] [-[uU] usrlist]
Runs on:
QNX OS
Options:
- -a
- Write information for all processes associated with terminals.
- -A
- Write information for all processes.
- -d
- Write information for all processes, except session leaders.
- -e
- Write information for all processes (the same as -A).
- -f
- Generate a full listing.
- -G grplist
- Write information for processes whose real group ID is given in the comma- and space-delimited list, grplist.
- -g grplist
- Write information for processes whose session leader is given in the comma- and space-delimited list, grplist.
- -l
- Generate a long listing.
- -n namelist
- The name of an alternate system namelist file (not supported).
- -o format
- Write information according to the specifications given in format. If you specify more than one -o option, ps concatenates all the format arguments.
- -p proclist
- Write information for processes whose ID is given in the comma and space-delimited list, proclist.
- -t termlist
- Write information for processes whose terminal identifier is given in the comma and space-delimited list, termlist.
- -U usrlist
- Write information for processes whose real user ID or login name is given in the comma and space-delimited list, usrlist.
- -u usrlist
- Write information for processes whose user ID or login name is given in the comma and space-delimited list, usrlist.
Description:
The ps utility prints information about processes, subject to having the appropriate privilege to obtain information about those processes. With no options, ps prints information about processes associated with the current terminal. The output includes the process ID, terminal name, cumulative execution time, and command name of each process.
The options that use lists (-G, -g, -o, -p, -t, -U, and -u) can list multiple items separated by commas or white space, as long as all the items are contained within a single command-line argument. If white space is used, you'll probably need to quote the list when invoking ps from the shell.
The initial set of processes selected by -a, -A, or -d is intersected with the processes selected by the -G, -g, -p, -t, -U or -u options, if any of the latter are specified. If a process meets any of the selection criteria, its information is displayed.
If none of -a, -A, or -d is specified, ps behaves as though you specified -u your_uid.
Controlling output
The -o option controls the information that ps displays. The format argument is a comma- or space-delimited list of field names that represent information to be displayed about processes and threads.
You can override the header for a field by appending an equals sign and the new header. The rest of the characters in the argument are used as the header text. The ps utility automatically determines the width of all columns.
The ps utility recognizes the following field names:
ruser
- The real user name or real user ID of the process.
user
- The effective user name or effective user ID of the process.
rgroup
- The real group name or real group ID of the process.
group
- The effective user name or effective group ID of the process.
pid
- The process ID.
ppid
- The parent process ID.
pgid
- The process group ID.
pcpu
- The ratio of CPU time used to CPU time available in a recent period of time.
vsz
- The size of the process.
nice
- The effective priority of the process.
etime
- The elapsed time since the process was started.
time
- The cumulative CPU time of the process.
tty
- The name of the controlling terminal (currently not supported).
comm
- The command being executed.
args
- The command with all of its arguments.
The following field names are supported, even though they aren't required by POSIX:
uid
- The real user name or real user ID of the process.
env
- The environment in a space-delimited list.
f
- The process flags.
pri
- The real priority of the process.
sid
- The process ID of the session leader.
suid
- The user ID of the session owner.
sgid
- The group ID of the session owner.
umask
- The process file creation mask.
sigign
- The list of signals ignored by the process.
sigpend
- The list of signals pending on the process and threads.
sigqueue
- The list of signals queued on the process.
threads
- The number of threads for the process.
stime
- The process's start time.
cmd
- The command being executed.
sz
- The size of memory used.
- Some of the above fields are thread-specific. In such cases, the value for the first thread in the process is used.
- For a
more comprehensive method of determining how much memory a process uses, go to
Calculating virtual memory reserved by a process
in theProcess Manager
chapter of the System Architecture guide.
The following field names display information about threads:
tid
- The thread ID.
tflags
- The thread flags.
dflags
- The thread debug flags.
tsigblk
- The list of signals blocked on the thread.
cpu
- The last CPU the thread ran on.
state
- The state of the thread.
wchan
- The wait channel.
addr
- The wait address.
psched
- The scheduling policy.
The comm
, args
, and env
fields are the only
ones that can contain blanks.
If you don't specify a format, ps uses:
uid,pid,ppid,c,stime,tty,time,args
if you specify -ff,s,uid,pid,ppid,c,pri,nice,addr,sz,wchan,tty,time,cmd
if you specify -lpid,tty,time,cmd
if you don't specify -f or -l
Examples:
List the process ID, cumulative CPU time, and the command with arguments for all processes, overriding the title of the last column:
ps -A -o "pid,time,args=Command (with args)"
Exit status:
- 0
- Successful completion.
- -1
- An error occurred.