W(1)

名称
w - 显示谁已经登录以及他们都在做什么。

概述
w [选项 ...] [用户]

描述
w 显示有关计算机上当前用户及其进程的信息。标题行依次显示当前时间、系统已运行多长时间、当前登录的用户数以及过去 1、5 和 15 分钟的系统平均负载。

对于每个用户，显示以下条目：登录名、tty 名称、远程主机、登录时间、空闲时间、JCPU、PCPU 以及当前进程的命令行。

JCPU 时间是依附于 tty 的所有进程使用的时间。它不包括过去的后台任务，但包括当前正在运行的后台任务。

PCPU 时间是当前进程（"what" 字段中的进程）使用的时间。

选项

-c, --container
    在输出的头部，显示容器上线时间，而不是系统上线时间。

-h, --no-header
    不要打印表头。

-u, --no-current
    在获取当前进程和 CPU 时间时忽略用户名。为了说明这一点，请运行 su 并运行 w 和 w -u。

-s, --short
    使用短格式。不打印登录名、JCPU 和 PCPU 时间。

-t, --terminal
    通常 w 会使用 systemd 会话表或 utmp 文件来定位用户。在 终端模式 中，w 会扫描终端设备并以此方式定位用户会话。这并非真实用户计数，例如拥有两个 xterm 的用户会显示为两次，因此标题行中的用户计数会有所不同。当前扫描的终端设备包括 /dev/tty* 和 /dev/pts/*。

-f, --from
    切换是否打印 来自（远程主机名）字段。发布时的默认设置是不打印 来自 字段，尽管您的系统管理员或发行版维护者可能已经编译了默认显示 来自 字段的版本。

--help
    显示帮助文本并退出。

-i, --ip-addr
    在 from 字段中显示 IP 地址而非主机名。此选项仅适用于非 systemd 平台，因为 libsystemd 仅提供远程主机信息。

-p, --pids
    在 "what" 字段中显示登录进程/"what" 进程的 pid。登录进程又叫做会话头领。

-V, --version
    显示版本信息。

-o, --old-style
    旧风格输出。空闲时间少于一分钟时，以空格代替。

用户  仅显示指定用户的信息。

环境

PROCPS_CONTAINER
    如果设置了 $PROCPS_CONTAINER，那么 w 执行时将视为使用了 --container 选项。

PROCPS_USERLEN
    覆盖用户名列的默认宽度。默认为 8。

PROCPS_FROMLEN
    覆盖 "来自" 列的默认宽度。默认为 16。

文件

/var/run/utmp
    关于当前谁已登录的信息，只适用于非 systemd 的主机。

/proc
    进程信息

/dev/tty* , /dev/pts/*
    --terminal 模式扫描的终端设备。

错误

使用 --terminal 选项时，w 会将父进程 PID 为 0 或 1 的进程视为 agetty(8) 进程而不予显示。此行为易导致误报和漏报错误。

某些会话（如 X/Wayland 会话）中用户的空闲时间将显示不正确。启用 --terminal 选项后，终端会话在 X/Wayland 环境下的空闲时间将正确显示。

在使用 systemd(1) 的平台上，--ip-addr 选项将被忽略，"来自" 列将把远程主机显示为主机名或者 IP 地址。

报告错误
请将错误报告发送到 procps@freelists.org。

参见
free(1), loginctl(1), ps(1), systemd(1), top(1), uptime(1), who(1), utmp(5), agetty(8)