w - who is logged in, and what are they doing

     w [ -hls ] [ user ]

     w displays a summary of the current activity on the  system,
     including  what  each user is doing.  The heading line shows
     the current time of day, how long the system  has  been  up,
     the  number  of  users  logged into the system, and the load
     averages.  The load average numbers give the number of  jobs
     in the run queue averaged over 1, 5 and 15 minutes.

     The fields displayed are: the users login name, the name  of
     the  tty  the user is on, the time of day the user logged on
     (in hours:minutes), the idle time - that is, the  number  of
     minutes   since   the   user   last   typed   anything   (in
     hours:minutes), the CPU time used by all processes and their
     children on that terminal (in minutes:seconds), the CPU time
     used by the currently active processes (in minutes:seconds),
     the name and arguments of the current process.

     If a user name is included, output  is  restricted  to  that

     -h   Suppress the heading.

     -l   Produce a long form of output, which is the default.

     -s   Produce a short form of output.  In the short form, the
          tty  is  abbreviated,  the login time and CPU times are
          left off, as are the arguments to commands.

          example% w
          7:36am  up 6 days, 16:45,  1 users,  load average: 0.20, 0.23, 0.18
          User tty  login@    idle JCPU PCPU what
          ralph     console   7:10am       1 10:05     4:31 w

     The environment variables  LC_CTYPE,  LANG,  and  LC_default
     control the character classification throughout w.  On entry
     to w, these environment variables are checked in the follow-
     ing  order:  LC_CTYPE,  LANG,  and LC_default.  When a valid
     value is found, remaining environment variables for  charac-
     ter  classification are ignored.  For example, a new setting
     for LANG does not override the current valid character clas-
     sification  rules  of  LC_CTYPE.  When none of the values is
     valid, the shell character classification  defaults  to  the
     POSIX.1 "C" locale.


     ps(1), who(1), utmp(5V)

     The notion of the "current process" is muddy.   The  current
     algorithm  is  `the highest numbered process on the terminal
     that is not ignoring interrupts, or, if there is  none,  the
     highest  numbered process on the terminal'.  This fails, for
     example, in critical sections of programs like the shell and
     editor,  or  when  faulty programs running in the background
     fork and fail to ignore interrupts.  In cases where no  pro-
     cess can be found, w prints `-'.

     The CPU time is only an estimate, in particular, if  someone
     leaves  a  background process running after logging out, the
     person currently on that  terminal  is  "charged"  with  the

     Background processes are not shown, even though they account
     for much of the load on the system.

     Sometimes processes, typically those in the background,  are
     printed  with  null  or garbaged arguments.  In these cases,
     the name of the command is printed in parentheses.

     w does not know about  the  new  conventions  for  detecting
     background  jobs.   It  will sometimes find a background job
     instead of the right one.