WHODO(8) Maintenance Commands and Procedures WHODO(8)

whodo - who is doing what

/usr/sbin/whodo [-h] [-l] [user]

The whodo command produces formatted and dated output from information in the /var/adm/utmpx and /proc/pid files.

The display is headed by the date, time, and machine name. For each user logged in, device name, user-ID and login time is shown, followed by a list of active processes associated with the user-ID. The list includes the device name, process-ID, CPU minutes and seconds used, and process name.

If user is specified, output is restricted to all sessions pertaining to that user.

The following options are supported:


Suppress the heading.


Produce a long form of output. The fields displayed are: the user's login name, the name of the tty the user is on, the time of day the user logged in (in ISO time format, weekday name and hours:minutes, or ISO date format), the idle time — that is, the time since the user last typed anything (in hours:minutes:seconds), the CPU time used by all processes and their children on that terminal (in hours:minutes:seconds), the CPU time used by the currently active processes (in hours:minutes:seconds), and the name and arguments of the current process.

Example 1 Using the whodo Command

The command:

example% whodo

produces a display like this:

Tue Mar 12 15:48:03 1985
tty09    mcn       8:51

tty09 28158 0:29 sh tty52 bdr 15:23
tty52 21688 0:05 sh
tty52 22788 0:01 whodo
tty52 22017 0:03 vi
tty52 22549 0:01 sh xt162 lee 10:20
tty08 6748 0:01 layers
xt162 6751 0:01 sh
xt163 6761 0:05 sh
tty08 6536 0:05 sh

If any of the LC_* variables (LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COLLATE, LC_NUMERIC, and LC_MONETARY) (see environ(7)) are not set in the environment, the operational behavior of tar(1) for each corresponding locale category is determined by the value of the LANG environment variable. If LC_ALL is set, its contents are used to override both the LANG and the other LC_* variables. If none of the above variables is set in the environment, the "C" (U.S. style) locale determines how whodo behaves.


Determines how whodo handles characters. When LC_CTYPE is set to a valid value, whodo can display and handle text and filenames containing valid characters for that locale. The whodo command can display and handle Extended Unix code (EUC) characters where any individual character can be 1, 2, or 3 bytes wide. whodo can also handle EUC characters of 1, 2, or more column widths. In the "C" locale, only characters from ISO 8859-1 are valid.


Determines how diagnostic and informative messages are presented. This includes the language and style of the messages, and the correct form of affirmative and negative responses. In the "C" locale, the messages are presented in the default form found in the program itself (in most cases, U.S. English).


Determines how whodo handles date and time formats. In the "C" locale, date and time handling follow the U.S. rules.

The following exit values are returned:


Successful completion.


An error occurred.


System password file


User access and administration information


Contains PID

ps(1), who(1), attributes(7), environ(7)

February 17, 2023 OmniOS