W(1) General Commands Manual W(1)

名称

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

概述

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

描述

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

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

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

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

选项

在输出的头部,显示容器上线时间,而不是系统上线时间。
不要打印表头。
在获取当前进程和 CPU 时间时忽略用户名。为了说明这一点,请运行 su 并运行 ww -u
使用短格式。不打印登录名、JCPU 和 PCPU 时间。
通常 w 会使用 systemd 会话表或 utmp 文件来定位用户。在 终端模式 中,w 会扫描终端设备并以此方式定位用户会话。这并非真实用户计数,例如拥有两个 xterm 的用户会显示为两次,因此标题行中的用户计数会有所不同。当前扫描的终端设备包括 /dev/tty*/dev/pts/*
切换是否打印 来自(远程主机名)字段。发布时的默认设置是不打印 来自 字段,尽管您的系统管理员或发行版维护者可能已经编译了默认显示 来自 字段的版本。
显示帮助文本并退出。
from 字段中显示 IP 地址而非主机名。此选项仅适用于非 systemd 平台,因为 libsystemd 仅提供远程主机信息。
在 "what" 字段中显示登录进程/"what" 进程的 pid。登录进程又叫做会话头领。
显示版本信息。
旧风格输出。空闲时间少于一分钟时,以空格代替。
用户
仅显示指定用户的信息。

环境

如果设置了 $PROCPS_CONTAINER,那么 w 执行时将视为使用了 --container 选项。
覆盖用户名列的默认宽度。默认为 8。
覆盖 "来自" 列的默认宽度。默认为 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)

2025-11-29 procps-ng