xref: /freebsd/usr.bin/w/w.1 (revision e8d8bef961a50d4dc22501cde4fb9fb0be1b2532)
1.\" Copyright (c) 1980, 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)w.1	8.1 (Berkeley) 6/6/93
29.\" $FreeBSD$
30.\"
31.Dd August 24, 2020
32.Dt W 1
33.Os
34.Sh NAME
35.Nm w
36.Nd "display who is logged in and what they are doing"
37.Sh SYNOPSIS
38.Nm
39.Op Fl -libxo
40.Op Fl dhin
41.Op Fl M Ar core
42.Op Fl N Ar system
43.Op Ar user ...
44.Sh DESCRIPTION
45The
46.Nm
47utility prints a summary of the current activity on the system,
48including what each user is doing.
49The first line displays the current time of day, how long the system has
50been running, the number of users logged into the system, and the load
51averages.
52The load average numbers give the number of jobs in the run queue averaged
53over 1, 5 and 15 minutes.
54.Pp
55The fields output are the user's login name, the name of the terminal the
56user is on, the host from which the user is logged in, the time the user
57logged on, the time since the user last typed anything,
58and the name and arguments of the current process.
59.Pp
60The options are as follows:
61.Bl -tag -width indent
62.It Fl -libxo
63Generate output via
64.Xr libxo 3
65in a selection of different human and machine readable formats.
66See
67.Xr xo_parse_args 3
68for details on command line arguments.
69.It Fl d
70dumps out the entire process list on a per controlling
71tty basis, instead of just the top level process.
72.It Fl h
73Suppress the heading.
74.It Fl i
75Output is sorted by idle time.
76.It Fl M
77Extract values associated with the name list from the specified
78core instead of the default
79.Pa /dev/kmem .
80.It Fl N
81Extract the name list from the specified system instead of the
82default
83.Pa /boot/kernel/kernel .
84.It Fl n
85Do not attempt to resolve network addresses (normally
86.Nm
87interprets addresses and attempts to display them as names).
88When
89.Fl n
90is specified more than once, hostnames stored in utmp are attempted to
91resolve to display them as network addresses.
92.El
93.Pp
94If one or more
95.Ar user
96names are specified, the output is restricted to those users.
97.Sh FILES
98.Bl -tag -width ".Pa /var/run/utx.active" -compact
99.It Pa /var/run/utx.active
100list of users on the system
101.El
102.Sh EXAMPLES
103Show global activity of the system:
104.Bd -literal -offset indent
105$ w
106 8:05PM  up 35 mins, 3 users, load averages: 0.09, 0.35, 0.27
107USER       TTY      FROM            LOGIN@  IDLE WHAT
108fernape    v0       -               7:30PM     - tmux: client (/tmp/tmux-1001/default) (tmux)
109root       v1       -               8:03PM     1 -bash (bash)
110fernape    pts/0    tmux(1391).%0   8:04PM     - w
111.Ed
112.Pp
113Show the entire process list per tty:
114.Bd -literal -offset indent
115$ w -d
116 8:12PM  up 42 mins, 3 users, load averages: 0.01, 0.11, 0.17
117USER       TTY      FROM            LOGIN@  IDLE WHAT
118                1199      login [pam] (login)
119                1207      -bash (bash)
120                1507      tmux: client (/tmp/tmux-1001/default) (tmux)
121fernape    v0       -               7:30PM     - tmux: client (/tmp/tmux-1001/default) (tmux)
122                1488      login [pam] (login)
123                1489      -bash (bash)
124root       v1       -               8:08PM     3 -bash (bash)
125                1510      -bash (bash)
126                1515      w -d
127fernape    pts/0    tmux(1509).%0   8:11PM     - w -d
128.Ed
129.Pp
130Same as above but only for the root user and omitting the heading:
131.Bd -literal -offset indent
132$ w -d -h root
133		1183      login [pam] (login)
134		1204      -bash (bash)
135root       v1       -       7:15PM     - -bash (bash)
136.Ed
137.Sh COMPATIBILITY
138The
139.Fl f ,
140.Fl l ,
141.Fl s ,
142and
143.Fl w
144flags are no longer supported.
145.Sh SEE ALSO
146.Xr finger 1 ,
147.Xr ps 1 ,
148.Xr uptime 1 ,
149.Xr who 1 ,
150.Xr libxo 3 ,
151.Xr xo_parse_args 3
152.Sh HISTORY
153The
154.Nm
155command appeared in
156.Bx 3.0 .
157.Sh BUGS
158The notion of the
159.Dq current process
160is muddy.
161The current algorithm is
162.Do
163the highest numbered process on the terminal
164that is not ignoring interrupts, or, if there is none, the highest numbered
165process on the terminal
166.Dc .
167This fails, for example, in critical sections of programs like the shell
168and editor, or when faulty programs running in the background fork and fail
169to ignore interrupts.
170(In cases where no process can be found,
171.Nm
172prints
173.Ql \- . )
174.Pp
175The CPU time is only an estimate, in particular, if someone leaves a background
176process running after logging out, the person currently on that terminal is
177.Dq charged
178with the time.
179.Pp
180Background processes are not shown, even though they account for
181much of the load on the system.
182.Pp
183Sometimes processes, typically those in the background, are printed with
184null or garbaged arguments.
185In these cases, the name of the command is printed in parentheses.
186.Pp
187The
188.Nm
189utility does not know about the new conventions for detection of background
190jobs.
191It will sometimes find a background job instead of the right one.
192