who(1p) - phpMan

WHO(1P)                    POSIX Programmer's Manual                   WHO(1P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
NAME
       who - display who is on the system
SYNOPSIS
       who [-mTu]

       who [-mu]-s[-bHlprt][file]
       who [-mTu][-abdHlprt][file]
       who -q [file]
       who am i
       who am I

DESCRIPTION
       The who utility shall list various pieces of information about accessi-
       ble users. The domain of accessibility is implementation-defined.
       Based on the options given, who can also list the user's name, terminal
       line, login time, elapsed time since activity occurred on the line, and
       the process ID of the command interpreter for each current system user.
OPTIONS
       The  who  utility  shall  conform  to  the  Base  Definitions volume of
       IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
       The following options shall be supported. The  metavariables,  such  as
       <line>, refer to fields described in the STDOUT section.
       -a     Process  the  implementation-defined database or named file with
              the -b, -d, -l, -p, -r, -t, -T and -u options turned on.
       -b     Write the time and date of the last reboot.
       -d     Write a list of all processes that have  expired  and  not  been
              respawned  by  the  init  system process. The <exit> field shall
              appear for dead processes and contain the termination  and  exit
              values  of  the  dead process. This can be useful in determining
              why a process terminated.
       -H     Write column headings above the regular output.
       -l     (The letter ell.) List only those lines on which the  system  is
              waiting for someone to login. The <name> field shall be LOGIN in
              such cases. Other fields shall be the same as for  user  entries
              except that the <state> field does not exist.
       -m     Output only information about the current terminal.
       -p     List  any  other  process  that is currently active and has been
              previously spawned by init.
       -q     (Quick.) List only the names and the number of  users  currently
              logged  on. When this option is used, all other options shall be
              ignored.
       -r     Write the current run-level of the init process.
       -s     List only the <name>, <line>, and <time> fields.   This  is  the
              default case.
       -t     Indicate the last change to the system clock.
       -T     Show the state of each terminal, as described in the STDOUT sec-
              tion.
       -u     Write "idle time" for each displayed user  in  addition  to  any
              other  information. The idle time is the time since any activity
              occurred on the user's terminal. The method of determining  this
              is unspecified.  This option shall list only those users who are
              currently logged in. The <name> is the user's  login  name.  The
              <line>  is  the name of the line as found in the directory /dev.
              The <time> is the time that the user logged in.  The  <activity>
              is  the number of hours and minutes since activity last occurred
              on that particular line. A dot indicates that the  terminal  has
              seen  activity in the last minute and is therefore "current". If
              more than twenty-four hours have elapsed or  the  line  has  not
              been used since boot time, the entry shall be marked <old>. This
              field is useful when trying to determine  whether  a  person  is
              working  at  the terminal or not. The <pid> is the process ID of
              the user's login process.

OPERANDS
       The following operands shall be supported:
       am i, am I
              In the POSIX locale, limit the output to describing the invoking
              user,  equivalent  to  the  -m option. The am and i or I must be
              separate arguments.
       file   Specify a pathname of a file to substitute for  the  implementa-
              tion-defined  database  of  logged-on  users  that  who  uses by
              default.

STDIN
       Not used.
INPUT FILES
       None.
ENVIRONMENT VARIABLES
       The following environment variables shall affect the execution of who:
       LANG   Provide a default value for the  internationalization  variables
              that  are  unset  or  null.  (See the Base Definitions volume of
              IEEE Std 1003.1-2001, Section  8.2,  Internationalization  Vari-
              ables  for the precedence of internationalization variables used
              to determine the values of locale categories.)
       LC_ALL If set to a non-empty string value, override the values  of  all
              the other internationalization variables.
       LC_CTYPE
              Determine  the  locale  for  the  interpretation of sequences of
              bytes of text data as characters (for  example,  single-byte  as
              opposed to multi-byte characters in arguments).
       LC_MESSAGES
              Determine  the  locale  that should be used to affect the format
              and contents of diagnostic messages written to standard error.
       LC_TIME
              Determine the locale used for the format  and  contents  of  the
              date and time strings.
       NLSPATH
              Determine the location of message catalogs for the processing of
              LC_MESSAGES .
       TZ     Determine the timezone used when writing date and time  informa-
              tion.   If  TZ is unset or null, an unspecified default timezone
              shall be used.

ASYNCHRONOUS EVENTS
       Default.
STDOUT
       The who utility shall write its default format to the  standard  output
       in an implementation-defined format, subject only to the requirement of
       containing the information described above.
       XSI-conformant systems shall write the default information to the stan-
       dard output in the following general format:

              <name>[<state>]<line><time>[<activity>][<pid>][<comment>][<exit>]
       The following format shall be used for the -T option:

              "%s %c %s %s\n" <name>, <terminal state>, <terminal name>,
                  <time of login>
       where <terminal state> is one of the following characters:
       +      The terminal allows write access to other users.
       -      The terminal denies write access to other users.
       ?      The terminal write-access state cannot be determined.

       In  the POSIX locale, the <time of login> shall be equivalent in format
       to the output of:

              date +"%b %e %H:%M"
       If the -u option is used with -T, the idle time shall be added  to  the
       end of the previous format in an unspecified format.
STDERR
       The standard error shall be used only for diagnostic messages.
OUTPUT FILES
       None.
EXTENDED DESCRIPTION
       None.
EXIT STATUS
       The following exit values shall be returned:
        0     Successful completion.
       >0     An error occurred.

CONSEQUENCES OF ERRORS
       Default.
       The following sections are informative.
APPLICATION USAGE
       The  name init used for the system process is the most commonly used on
       historical systems, but it may vary.
       The "domain of accessibility" referred to is a broad concept that  per-
       mits  interpretation  either  on a very secure basis or even to allow a
       network-wide implementation like the historical rwho.
EXAMPLES
       None.
RATIONALE
       Due to differences between historical implementations, the base options
       provided were a compromise to allow users to work with those functions.
       The standard developers also considered removing all the  options,  but
       felt  that  these  options  offered users valuable functionality. Addi-
       tional options to match historical systems are available on XSI-confor-
       mant systems.
       It  is  recognized  that  the who command may be of limited usefulness,
       especially in a multi-level secure environment. The standard developers
       considered,  however,  that  having some standard method of determining
       the "accessibility" of other users would aid user portability.
       No format was specified for the default who output for systems not sup-
       porting  the  XSI  Extension. In such a user-oriented command, designed
       only for human use, this was not considered to be a deficiency.
       The format of the terminal name is unspecified, but the descriptions of
       ps, talk, and write require that they use the same format.
       It  is  acceptable  for  an  implementation to produce no output for an
       invocation of who mil.
FUTURE DIRECTIONS
       None.
SEE ALSO
       mesg
COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                  2003                              WHO(1P)