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