xref: /freebsd/bin/ps/ps.1 (revision cbb3ec25236ba72f91cbdf23f8b78b9d1af0cedf)
1.\"-
2.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
3.\"	The Regents of the University of California.  All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\" 3. Neither the name of the University nor the names of its contributors
14.\"    may be used to endorse or promote products derived from this software
15.\"    without specific prior written permission.
16.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27.\" SUCH DAMAGE.
28.\"
29.\"     @(#)ps.1	8.3 (Berkeley) 4/18/94
30.\"
31.Dd April 25, 2023
32.Dt PS 1
33.Os
34.Sh NAME
35.Nm ps
36.Nd process status
37.Sh SYNOPSIS
38.Nm
39.Op Fl -libxo
40.Op Fl aCcdefHhjlmrSTuvwXxZ
41.Op Fl O Ar fmt | Fl o Ar fmt
42.Op Fl G Ar gid Ns Op , Ns Ar gid Ns Ar ...
43.Op Fl J Ar jid Ns Op , Ns Ar jid Ns Ar ...
44.Op Fl M Ar core
45.Op Fl N Ar system
46.Op Fl p Ar pid Ns Op , Ns Ar pid Ns Ar ...
47.Op Fl t Ar tty Ns Op , Ns Ar tty Ns Ar ...
48.Op Fl U Ar user Ns Op , Ns Ar user Ns Ar ...
49.Nm
50.Op Fl -libxo
51.Fl L
52.Sh DESCRIPTION
53The
54.Nm
55utility
56displays a header line, followed by lines containing information about
57all of your
58processes that have controlling terminals.
59If the
60.Fl x
61options is specified,
62.Nm
63will also display processes that do not have controlling terminals.
64.Pp
65A different set of processes can be selected for display by using any
66combination of the
67.Fl a , G , J , p , T , t ,
68and
69.Fl U
70options.
71If more than one of these options are given, then
72.Nm
73will select all processes which are matched by at least one of the
74given options.
75.Pp
76For the processes which have been selected for display,
77.Nm
78will usually display one line per process.
79The
80.Fl H
81option may result in multiple output lines (one line per thread) for
82some processes.
83By default all of these output lines are sorted first by controlling
84terminal, then by process ID.
85The
86.Fl m , r , u ,
87and
88.Fl v
89options will change the sort order.
90If more than one sorting option was given, then the selected processes
91will be sorted by the last sorting option which was specified.
92.Pp
93For the processes which have been selected for display, the information
94to display is selected based on a set of keywords (see the
95.Fl L , O ,
96and
97.Fl o
98options).
99The default output format includes, for each process, the process' ID,
100controlling terminal, state, CPU time (including both user and system time)
101and associated command.
102.Pp
103If the
104.Nm
105process is associated with a terminal, the default output width is that of the
106terminal; otherwise the output width is unlimited.
107See also the
108.Fl w
109option.
110.Pp
111The options are as follows:
112.Bl -tag -width indent
113.It Fl -libxo
114Generate output via
115.Xr libxo 3
116in a selection of different human and machine readable formats.
117See
118.Xr xo_parse_args 3
119for details on command line arguments.
120.It Fl a
121Display information about other users' processes as well as your own.
122If the
123.Va security.bsd.see_other_uids
124sysctl is set to zero, this option is honored only if the UID of the user is 0.
125.It Fl c
126Change the
127.Dq command
128column output to just contain the executable name,
129rather than the full command line.
130.It Fl C
131Change the way the CPU percentage is calculated by using a
132.Dq raw
133CPU calculation that ignores
134.Dq resident
135time (this normally has
136no effect).
137.It Fl d
138Arrange processes into descendancy order and prefix each command with
139indentation text showing sibling and parent/child relationships as a tree.
140If either of the
141.Fl m
142and
143.Fl r
144options are also used, they control how sibling processes are sorted
145relative to each other.
146Note that this option has no effect if the
147.Dq command
148column is not the last column displayed.
149.It Fl e
150Display the environment as well.
151.It Fl f
152Show command-line and environment information about swapped out processes.
153This option is honored only if the UID of the user is 0.
154.It Fl G
155Display information about processes which are running with the specified
156real group IDs.
157.It Fl H
158Show all of the threads associated with each process.
159.It Fl h
160Repeat the information header as often as necessary to guarantee one
161header per page of information.
162.It Fl j
163Print information associated with the following keywords:
164.Cm user , pid , ppid , pgid , sid , jobc , state , tt , time ,
165and
166.Cm command .
167.It Fl J
168Display information about processes which match the specified jail IDs.
169This may be either the
170.Cm jid
171or
172.Cm name
173of the jail.
174Use
175.Fl J
176.Sy 0
177to display only host processes.
178This flag implies
179.Fl x
180by default.
181.It Fl L
182List the set of keywords available for the
183.Fl O
184and
185.Fl o
186options.
187.It Fl l
188Display information associated with the following keywords:
189.Cm uid , pid , ppid , cpu , pri , nice , vsz , rss , mwchan , state ,
190.Cm tt , time ,
191and
192.Cm command .
193.It Fl M
194Extract values associated with the name list from the specified core
195instead of the currently running system.
196.It Fl m
197Sort by memory usage, instead of the combination of controlling
198terminal and process ID.
199.It Fl N
200Extract the name list from the specified system instead of the default,
201which is the kernel image the system has booted from.
202.It Fl O
203Add the information associated with the space or comma separated list
204of keywords specified, after the process ID,
205in the default information
206display.
207Keywords may be appended with an equals
208.Pq Ql =
209sign and a string.
210This causes the printed header to use the specified string instead of
211the standard header.
212.It Fl o
213Display information associated with the space or comma separated
214list of keywords specified.
215The last keyword in the list may be appended with an equals
216.Pq Ql =
217sign and a string that spans the rest of the argument, and can contain
218space and comma characters.
219This causes the printed header to use the specified string instead of
220the standard header.
221Multiple keywords may also be given in the form of more than one
222.Fl o
223option.
224So the header texts for multiple keywords can be changed.
225If all keywords have empty header texts, no header line is written.
226.It Fl p
227Display information about processes which match the specified process IDs.
228.It Fl r
229Sort by current CPU usage, instead of the combination of controlling
230terminal and process ID.
231.It Fl S
232Change the way the process times, namely cputime, systime, and usertime,
233are calculated by summing all exited children to their parent process.
234.It Fl T
235Display information about processes attached to the device associated
236with the standard input.
237.It Fl t
238Display information about processes attached to the specified terminal
239devices.
240Full pathnames, as well as abbreviations (see explanation of the
241.Cm tt
242keyword) can be specified.
243.It Fl U
244Display the processes belonging to the specified usernames.
245.It Fl u
246Display information associated with the following keywords:
247.Cm user , pid , %cpu , %mem , vsz , rss , tt , state , start , time ,
248and
249.Cm command .
250The
251.Fl u
252option implies the
253.Fl r
254option.
255.It Fl v
256Display information associated with the following keywords:
257.Cm pid , state , time , sl , re , pagein , vsz , rss , lim , tsiz ,
258.Cm %cpu , %mem ,
259and
260.Cm command .
261The
262.Fl v
263option implies the
264.Fl m
265option.
266.It Fl w
267Use at least 132 columns to display information, instead of the default which
268is the window size if
269.Nm
270is associated with a terminal.
271If the
272.Fl w
273option is specified more than once,
274.Nm
275will use as many columns as necessary without regard for the window size.
276Note that this option has no effect if the
277.Dq command
278column is not the last column displayed.
279.It Fl X
280When displaying processes matched by other options, skip any processes
281which do not have a controlling terminal.
282This is the default behaviour.
283.It Fl x
284When displaying processes matched by other options, include processes
285which do not have a controlling terminal.
286This is the opposite of the
287.Fl X
288option.
289If both
290.Fl X
291and
292.Fl x
293are specified in the same command, then
294.Nm
295will use the one which was specified last.
296.It Fl Z
297Add
298.Xr mac 4
299label to the list of keywords for which
300.Nm
301will display information.
302.El
303.Pp
304A complete list of the available keywords are listed below.
305Some of these keywords are further specified as follows:
306.Bl -tag -width lockname
307.It Cm %cpu
308The CPU utilization of the process; this is a decaying average over up to
309a minute of previous (real) time.
310Since the time base over which this is computed varies (since processes may
311be very young) it is possible for the sum of all
312.Cm %cpu
313fields to exceed 100%.
314.It Cm %mem
315The percentage of real memory used by this process.
316.It Cm class
317Login class associated with the process.
318.It Cm flags
319The flags associated with the process as in
320the include file
321.In sys/proc.h :
322.Bl -column P_SINGLE_BOUNDARY 0x40000000
323.It Dv "P_ADVLOCK" Ta No "0x00001" Ta "Process may hold a POSIX advisory lock"
324.It Dv "P_CONTROLT" Ta No "0x00002" Ta "Has a controlling terminal"
325.It Dv "P_KPROC" Ta No "0x00004" Ta "Kernel process"
326.It Dv "P_PPWAIT" Ta No "0x00010" Ta "Parent is waiting for child to exec/exit"
327.It Dv "P_PROFIL" Ta No "0x00020" Ta "Has started profiling"
328.It Dv "P_STOPPROF" Ta No "0x00040" Ta "Has thread in requesting to stop prof"
329.It Dv "P_HADTHREADS" Ta No "0x00080" Ta "Has had threads (no cleanup shortcuts)"
330.It Dv "P_SUGID" Ta No "0x00100" Ta "Had set id privileges since last exec"
331.It Dv "P_SYSTEM" Ta No "0x00200" Ta "System proc: no sigs, stats or swapping"
332.It Dv "P_SINGLE_EXIT" Ta No "0x00400" Ta "Threads suspending should exit, not wait"
333.It Dv "P_TRACED" Ta No "0x00800" Ta "Debugged process being traced"
334.It Dv "P_WAITED" Ta No "0x01000" Ta "Someone is waiting for us"
335.It Dv "P_WEXIT" Ta No "0x02000" Ta "Working on exiting"
336.It Dv "P_EXEC" Ta No "0x04000" Ta "Process called exec"
337.It Dv "P_WKILLED" Ta No "0x08000" Ta "Killed, shall go to kernel/user boundary ASAP"
338.It Dv "P_CONTINUED" Ta No "0x10000" Ta "Proc has continued from a stopped state"
339.It Dv "P_STOPPED_SIG" Ta No "0x20000" Ta "Stopped due to SIGSTOP/SIGTSTP"
340.It Dv "P_STOPPED_TRACE" Ta No "0x40000" Ta "Stopped because of tracing"
341.It Dv "P_STOPPED_SINGLE" Ta No "0x80000" Ta "Only one thread can continue"
342.It Dv "P_PROTECTED" Ta No "0x100000" Ta "Do not kill on memory overcommit"
343.It Dv "P_SIGEVENT" Ta No "0x200000" Ta "Process pending signals changed"
344.It Dv "P_SINGLE_BOUNDARY" Ta No "0x400000" Ta "Threads should suspend at user boundary"
345.It Dv "P_HWPMC" Ta No "0x800000" Ta "Process is using HWPMCs"
346.It Dv "P_JAILED" Ta No "0x1000000" Ta "Process is in jail"
347.It Dv "P_TOTAL_STOP" Ta No "0x2000000" Ta "Stopped for system suspend"
348.It Dv "P_INEXEC" Ta No "0x4000000" Ta Process is in Xr execve 2
349.It Dv "P_STATCHILD" Ta No "0x8000000" Ta "Child process stopped or exited"
350.It Dv "P_INMEM" Ta No "0x10000000" Ta "Loaded into memory"
351.It Dv "P_SWAPPINGOUT" Ta No "0x20000000" Ta "Process is being swapped out"
352.It Dv "P_SWAPPINGIN" Ta No "0x40000000" Ta "Process is being swapped in"
353.It Dv "P_PPTRACE" Ta No "0x80000000" Ta "Vforked child issued ptrace(PT_TRACEME)"
354.El
355.It Cm flags2
356The flags kept in
357.Va p_flag2
358associated with the process as in
359the include file
360.In sys/proc.h :
361.Bl -column P2_INHERIT_PROTECTED 0x00000001
362.It Dv "P2_INHERIT_PROTECTED" Ta No "0x00000001" Ta "New children get P_PROTECTED"
363.It Dv "P2_NOTRACE" Ta No "0x00000002" Ta "No" Xr ptrace 2 attach or coredumps
364.It Dv "P2_NOTRACE_EXEC" Ta No "0x00000004" Ta Keep P2_NOPTRACE on Xr execve 2
365.It Dv "P2_AST_SU" Ta No "0x00000008" Ta "Handles SU ast for kthreads"
366.It Dv "P2_PTRACE_FSTP" Ta No "0x00000010" Ta "SIGSTOP from PT_ATTACH not yet handled"
367.El
368.It Cm label
369The MAC label of the process.
370.It Cm lim
371The soft limit on memory used, specified via a call to
372.Xr setrlimit 2 .
373.It Cm lstart
374The exact time the command started, using the
375.Ql %c
376format described in
377.Xr strftime 3 .
378.It Cm lockname
379The name of the lock that the process is currently blocked on.
380If the name is invalid or unknown, then
381.Dq ???\&
382is displayed.
383.It Cm logname
384The login name associated with the session the process is in (see
385.Xr getlogin 2 ) .
386.It Cm mwchan
387The event name if the process is blocked normally, or the lock name if
388the process is blocked on a lock.
389See the wchan and lockname keywords
390for details.
391.It Cm nice
392The process scheduling increment (see
393.Xr setpriority 2 ) .
394.It Cm rss
395the real memory (resident set) size of the process (in 1024 byte units).
396.It Cm start
397The time the command started.
398If the command started less than 24 hours ago, the start time is
399displayed using the
400.Dq Li %H:%M
401format described in
402.Xr strftime 3 .
403If the command started less than 7 days ago, the start time is
404displayed using the
405.Dq Li %a%H
406format.
407Otherwise, the start time is displayed using the
408.Dq Li %e%b%y
409format.
410.It Cm state
411The state is given by a sequence of characters, for example,
412.Dq Li RWNA .
413The first character indicates the run state of the process:
414.Pp
415.Bl -tag -width indent -compact
416.It Li D
417Marks a process in disk (or other short term, uninterruptible) wait.
418.It Li I
419Marks a process that is idle (sleeping for longer than about 20 seconds).
420.It Li L
421Marks a process that is waiting to acquire a lock.
422.It Li R
423Marks a runnable process.
424.It Li S
425Marks a process that is sleeping for less than about 20 seconds.
426.It Li T
427Marks a stopped process.
428.It Li W
429Marks an idle interrupt thread.
430.It Li Z
431Marks a dead process (a
432.Dq zombie ) .
433.El
434.Pp
435Additional characters after these, if any, indicate additional state
436information:
437.Pp
438.Bl -tag -width indent -compact
439.It Li +
440The process is in the foreground process group of its control terminal.
441.It Li <
442The process has raised CPU scheduling priority.
443.It Li C
444The process is in
445.Xr capsicum 4
446capability mode.
447.It Li E
448The process is trying to exit.
449.It Li J
450Marks a process which is in
451.Xr jail 2 .
452The hostname of the prison can be found in
453.Pa /proc/ Ns Ao Ar pid Ac Ns Pa /status .
454.It Li L
455The process has pages locked in core (for example, for raw I/O).
456.It Li N
457The process has reduced CPU scheduling priority (see
458.Xr setpriority 2 ) .
459.It Li s
460The process is a session leader.
461.It Li V
462The process' parent is suspended during a
463.Xr vfork 2 ,
464waiting for the process to exec or exit.
465.It Li W
466The process is swapped out.
467.It Li X
468The process is being traced or debugged.
469.El
470.It Cm tt
471An abbreviation for the pathname of the controlling terminal, if any.
472The abbreviation consists of the three letters following
473.Pa /dev/tty ,
474or, for pseudo-terminals, the corresponding entry in
475.Pa /dev/pts .
476This is followed by a
477.Ql -
478if the process can no longer reach that
479controlling terminal (i.e., it has been revoked).
480A
481.Ql -
482without a preceding two letter abbreviation or pseudo-terminal device number
483indicates a process which never had a controlling terminal.
484The full pathname of the controlling terminal is available via the
485.Cm tty
486keyword.
487.It Cm wchan
488The event (an address in the system) on which a process waits.
489When printed numerically, the initial part of the address is
490trimmed off and the result is printed in hex, for example, 0x80324000 prints
491as 324000.
492.El
493.Pp
494When printing using the command keyword, a process that has exited and
495has a parent that has not yet waited for the process (in other words, a zombie)
496is listed as
497.Dq Li <defunct> ,
498and a process which is blocked while trying
499to exit is listed as
500.Dq Li <exiting> .
501If the arguments cannot be located (usually because it has not been set, as is
502the case of system processes and/or kernel threads) the command name is printed
503within square brackets.
504The
505.Nm
506utility first tries to obtain the arguments cached by the kernel (if they were
507shorter than the value of the
508.Va kern.ps_arg_cache_limit
509sysctl).
510The process can change the arguments shown with
511.Xr setproctitle 3 .
512Otherwise,
513.Nm
514makes an educated guess as to the file name and arguments given when the
515process was created by examining memory or the swap area.
516The method is inherently somewhat unreliable and in any event a process
517is entitled to destroy this information.
518The ucomm (accounting) keyword can, however, be depended on.
519If the arguments are unavailable or do not agree with the ucomm keyword,
520the value for the ucomm keyword is appended to the arguments in parentheses.
521.Sh KEYWORDS
522The following is a complete list of the available keywords and their
523meanings.
524Several of them have aliases (keywords which are synonyms).
525.Pp
526.Bl -tag -width ".Cm sigignore" -compact
527.It Cm %cpu
528percentage CPU usage (alias
529.Cm pcpu )
530.It Cm %mem
531percentage memory usage (alias
532.Cm pmem )
533.It Cm acflag
534accounting flag (alias
535.Cm acflg )
536.It Cm args
537command and arguments
538.It Cm class
539login class
540.It Cm comm
541command
542.It Cm command
543command and arguments
544.It Cm cow
545number of copy-on-write faults
546.It Cm cpu
547The processor number on which the process is executing (visible only on SMP
548systems).
549.It Cm dsiz
550data size (in Kbytes)
551.It Cm emul
552system-call emulation environment (ABI)
553.It Cm etime
554elapsed running time, format
555.Do
556.Op days- Ns
557.Op hours\&: Ns
558minutes:seconds
559.Dc
560.It Cm etimes
561elapsed running time, in decimal integer seconds
562.It Cm fib
563default FIB number, see
564.Xr setfib 1
565.It Cm flags
566the process flags, in hexadecimal (alias
567.Cm f )
568.It Cm flags2
569the additional set of process flags, in hexadecimal (alias
570.Cm f2 )
571.It Cm gid
572effective group ID (alias
573.Cm egid )
574.It Cm group
575group name (from egid) (alias
576.Cm egroup )
577.It Cm inblk
578total blocks read (alias
579.Cm inblock )
580.It Cm jail
581jail name
582.It Cm jid
583jail ID
584.It Cm jobc
585job control count
586.It Cm ktrace
587tracing flags
588.It Cm label
589MAC label
590.It Cm lim
591memoryuse limit
592.It Cm lockname
593lock currently blocked on (as a symbolic name)
594.It Cm logname
595login name of user who started the session
596.It Cm lstart
597time started
598.It Cm lwp
599thread (light-weight process) ID (alias
600.Cm tid )
601.It Cm majflt
602total page faults
603.It Cm minflt
604total page reclaims
605.It Cm msgrcv
606total messages received (reads from pipes/sockets)
607.It Cm msgsnd
608total messages sent (writes on pipes/sockets)
609.It Cm mwchan
610wait channel or lock currently blocked on
611.It Cm nice
612nice value (alias
613.Cm ni )
614.It Cm nivcsw
615total involuntary context switches
616.It Cm nlwp
617number of threads (light-weight processes) tied to a process
618.It Cm nsigs
619total signals taken (alias
620.Cm nsignals )
621.It Cm nswap
622total swaps in/out
623.It Cm nvcsw
624total voluntary context switches
625.It Cm nwchan
626wait channel (as an address)
627.It Cm oublk
628total blocks written (alias
629.Cm oublock )
630.It Cm paddr
631process pointer
632.It Cm pagein
633pageins (same as majflt)
634.It Cm pgid
635process group number
636.It Cm pid
637process ID
638.It Cm ppid
639parent process ID
640.It Cm pri
641scheduling priority
642.It Cm re
643core residency time (in seconds; 127 = infinity)
644.It Cm rgid
645real group ID
646.It Cm rgroup
647group name (from rgid)
648.It Cm rss
649resident set size
650.It Cm rtprio
651realtime priority (see
652.Xr rtprio 1)
653.It Cm ruid
654real user ID
655.It Cm ruser
656user name (from ruid)
657.It Cm sid
658session ID
659.It Cm sig
660pending signals (alias
661.Cm pending )
662.It Cm sigcatch
663caught signals (alias
664.Cm caught )
665.It Cm sigignore
666ignored signals (alias
667.Cm ignored )
668.It Cm sigmask
669blocked signals (alias
670.Cm blocked )
671.It Cm sl
672sleep time (in seconds; 127 = infinity)
673.It Cm ssiz
674stack size (in Kbytes)
675.It Cm start
676time started
677.It Cm state
678symbolic process state (alias
679.Cm stat )
680.It Cm svgid
681saved gid from a setgid executable
682.It Cm svuid
683saved UID from a setuid executable
684.It Cm systime
685accumulated system CPU time
686.It Cm tdaddr
687thread address
688.It Cm tdname
689thread name
690.It Cm tdev
691control terminal device number
692.It Cm time
693accumulated CPU time, user + system (alias
694.Cm cputime )
695.It Cm tpgid
696control terminal process group ID
697.It Cm tracer
698tracer process ID
699.\".It Cm trss
700.\"text resident set size (in Kbytes)
701.It Cm tsid
702control terminal session ID
703.It Cm tsiz
704text size (in Kbytes)
705.It Cm tt
706control terminal name (two letter abbreviation)
707.It Cm tty
708full name of control terminal
709.It Cm ucomm
710name to be used for accounting
711.It Cm uid
712effective user ID (alias
713.Cm euid )
714.It Cm upr
715scheduling priority on return from system call (alias
716.Cm usrpri )
717.It Cm uprocp
718process pointer
719.It Cm user
720user name (from UID)
721.It Cm usertime
722accumulated user CPU time
723.It Cm vmaddr
724vmspace pointer
725.It Cm vsz
726virtual size in Kbytes (alias
727.Cm vsize )
728.It Cm wchan
729wait channel (as a symbolic name)
730.It Cm xstat
731exit or stop status (valid only for stopped or zombie process)
732.El
733.Pp
734Note that the
735.Cm pending
736column displays bitmask of signals pending in the process queue when
737.Fl H
738option is not specified, otherwise the per-thread queue of pending signals
739is shown.
740.Sh ENVIRONMENT
741The following environment variables affect the execution of
742.Nm :
743.Bl -tag -width ".Ev COLUMNS"
744.It Ev COLUMNS
745If set, specifies the user's preferred output width in column positions.
746By default,
747.Nm
748attempts to automatically determine the terminal width.
749.El
750.Sh FILES
751.Bl -tag -width ".Pa /boot/kernel/kernel" -compact
752.It Pa /boot/kernel/kernel
753default system namelist
754.El
755.Sh EXIT STATUS
756.Ex -std
757.Sh EXAMPLES
758Display information on all system processes:
759.Pp
760.Dl $ ps -auxw
761.Sh SEE ALSO
762.Xr kill 1 ,
763.Xr pgrep 1 ,
764.Xr pkill 1 ,
765.Xr procstat 1 ,
766.Xr w 1 ,
767.Xr kvm 3 ,
768.Xr libxo 3 ,
769.Xr strftime 3 ,
770.Xr xo_parse_args 3 ,
771.Xr mac 4 ,
772.Xr procfs 5 ,
773.Xr pstat 8 ,
774.Xr sysctl 8 ,
775.Xr mutex 9
776.Sh STANDARDS
777For historical reasons, the
778.Nm
779utility under
780.Fx
781supports a different set of options from what is described by
782.St -p1003.2 ,
783and what is supported on
784.No non- Ns Bx
785operating systems.
786.Sh HISTORY
787The
788.Nm
789command appeared in
790.At v3
791in section 8 of the manual.
792.Sh BUGS
793Since
794.Nm
795cannot run faster than the system and is run as any other scheduled
796process, the information it displays can never be exact.
797.Pp
798The
799.Nm
800utility does not correctly display argument lists containing multibyte
801characters.
802