w.1

W(1)

W(1)

FreeBSD General Commands Manual

W(1)

w

显示谁登录以及他们在做什么

w [--libxo] [-dhin] [-M core] [-N system] [user ...]

w 实用程序打印系统上当前活动的摘要,包括每个用户在做什么。 第一行显示一天中的当前时间、系统运行了多长时间、登录到系统的用户数以及平均负载。 负载平均数给出了运行队列中在 1、5 和 15 分钟内的平均作业数。

输出的字段是用户的登录名、用户所在终端的名称、用户登录的主机、用户登录的时间、用户上次键入任何内容的时间以及名称和参数的当前进程。

选项如下:

--libxo

通过 libxo(3) 以不同的人类和机器可读格式生成输出。 有关命令行参数的详细信息,请参阅 xo_parse_args(3)

-d

在每个控制 tty 的基础上转储整个进程列表,而不仅仅是顶级进程。

-h

抑制标题。

-i

输出按空闲时间排序。

-M

从指定的核心而不是默认的 /dev/kmem 中提取与名称列表关联的值。

-N

从指定系统而不是默认的 /boot/kernel/kernel 中提取名称列表。

-n

不要尝试解析网络地址(通常 w 解释地址并尝试将它们显示为名称)。 当多次指定 -n 时,将尝试解析存储在 utmp 中的主机名以将它们显示为网络地址。 如果指定了一个或多个用户名,则输出仅限于这些用户。

如果指定了一个或多个 user ,则输出仅限于这些用户。

/var/run/utx.active

系统上的用户列表

显示系统的全局活动:

$ w 8:05PM up 35 mins, 3 users, load averages: 0.09, 0.35, 0.27 USER TTY FROM LOGIN@ IDLE WHAT fernape v0 - 7:30PM - tmux: client (/tmp/tmux-1001/default) (tmux) root v1 - 8:03PM 1 -bash (bash) fernape pts/0 tmux(1391).%0 8:04PM - w

显示每个 tty 的整个进程列表:

$ w -d 8:12PM up 42 mins, 3 users, load averages: 0.01, 0.11, 0.17 USER TTY FROM LOGIN@ IDLE WHAT 1199 login [pam] (login) 1207 -bash (bash) 1507 tmux: client (/tmp/tmux-1001/default) (tmux) fernape v0 - 7:30PM - tmux: client (/tmp/tmux-1001/default) (tmux) 1488 login [pam] (login) 1489 -bash (bash) root v1 - 8:08PM 3 -bash (bash) 1510 -bash (bash) 1515 w -d fernape pts/0 tmux(1509).%0 8:11PM - w -d

与上面相同,但仅适用于 root 用户并省略了标题:

$ w -d -h root 1183 login [pam] (login) 1204 -bash (bash) root v1 - 7:15PM - -bash (bash)

不再支持 -f, -l, -s, 和 -w 标志。

finger(1), ps(1), uptime(1), who(1), libxo(3), xo_parse_args(3)

w 命令出现在 3.0BSD 中。

“current process” 的概念是模糊的。 当前算法是 “终端上未忽略中断的最高编号进程,或者,如果没有中断,则为终端上最高编号的进程” 。 例如,在 shell 和编辑器等程序的关键部分,或者在后台运行的错误程序 fork 并且无法忽略中断时,这会失败。 (在找不到进程的情况下, w 打印 ‘-’ 。)

CPU 时间只是一个估计值,特别是,如果有人在注销后离开后台进程运行,则当前在该终端上的人将被 “charged” 该时间。

后台进程未显示,即使它们占系统负载的大部分。

有时进程,通常是后台进程,会打印空参数或垃圾参数。 在这些情况下,命令的名称打印在括号中。

w 实用程序不知道用于检测后台作业的新约定。 它有时会找到一个后台工作而不是正确的工作。

August 24, 2020

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区