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