当前位置:

首页 > Linux系统查看当前登录用户 who与w命令用法

Linux系统查看当前登录用户 who与w命令用法

在Linux系统管理中,查看当前谁登录了服务器、他们正在做什么,是日常运维和故障排查的基本功。最常用的两个命令是 who 和 w。虽然它们都读取同一个数据源 /var/run/utmp,但输出的信息粒度和用途却截然不同。 简单来说:想快速知道“谁登进来了”,用 who;想全面了解“谁登进来了、正在干

在Linux系统管理中,查看当前谁登录了服务器、他们正在做什么,是日常运维和故障排查的基本功。最常用的两个命令是 whow。虽然它们都读取同一个数据源 /var/run/utmp,但输出的信息粒度和用途却截然不同。

Linux系统查看当前登录用户 who与w命令用法

简单来说:想快速知道“谁登进来了”,用 who;想全面了解“谁登进来了、正在干什么、系统整体负载如何”,就用 w

为什么 who 命令看不到用户正在运行的命令?

原因在于设计定位。who 命令的职责非常纯粹:它只从 /var/run/utmp 文件中提取登录会话的元数据,比如用户名、使用的终端设备、登录时间以及来源IP地址。它本质上是一个“登录记录快照”查询工具,而非“实时活动监控器”。

  • 当你执行 who 时,看到的 pts/0tty1 等只是终端标识符,它不会告诉你这个终端里运行的是 vim 还是 top
  • 如果需要确认某个登录会话背后具体的shell进程,就得手动配合 ps -t pts/0 这样的命令来查询。
  • 另外,who -mwho am i 命令输出一致,都只反映当前shell最初的登录上下文,不受后续 sudosu 切换用户的影响。但要注意,whoami 命令返回的是当前有效用户ID(effective UID),如果用了 sudo,这里显示的就是 root

w 命令输出中的 JCPUPCPU 究竟指什么?

这是 w 命令提供的资源消耗视角。JCPU 指的是关联到该终端的所有进程(包括后台任务)自登录以来累计占用的CPU时间,单位是秒。PCPU 则特指当前前台进程占用的CPU时间。关键在于,它们显示的是总耗时,而非实时占用百分比。

  • 所以,看到一个用户的 JCPU 值很高,并不一定意味着系统此刻正被拖慢。很可能只是该用户之前运行过几个耗时任务(比如大型编译或压缩解压),现在终端已经空闲了。
  • 更有参考价值的是 PCPU 列。如果某个用户的 PCPU 值持续大于1秒,并且 WHAT 列显示为 topfind 或某个计算密集型命令,这才表明当前存在高负载进程。
  • 使用 w -u 选项可以忽略 w 命令自身进程对 PCPU 计数的微小影响,让显示的数据更“干净”。

远程登录时,FROM 字段显示的是主机名还是IP地址?

默认情况下,系统会尝试显示主机名(前提是DNS能够成功反向解析该IP)。但在实际生产环境中,DNS配置可能不可靠或缺失,这常常导致 FROM 字段显示为短横线 -,或者是一串解析失败的无意义字符。

  • 如果在 w 的输出里看到 FROM 列是 -unknown,基本可以判定是DNS反向解析失败了。
  • who 命令默认不显示来源信息,需要显式加上 -H 选项(部分发行版支持),或者直接使用 w -i 来强制显示IP地址。
  • 若希望长期固定显示IP地址以避免混淆,可以将 alias w='w -i' 这行命令添加到你的 ~/.bashrc 文件中。

如何排查“用户已登出但 w 仍显示在线”的异常?

这种“幽灵会话”的根本原因,是 /var/run/utmp 文件中的对应条目没有被正确清理。这通常发生在异常断开连接的情况下,比如网络突然中断、SSH客户端进程崩溃,或者用户直接使用 kill -9 杀掉了shell进程,终端未能正常执行退出清理流程。

  • 手动直接编辑或清理 /var/run/utmp 二进制文件风险很高,一般不建议这么做。
  • 更安全的做法是,优先使用 loginctl list-sessions 命令(适用于使用systemd的系统)进行交叉验证。它基于cgroup信息,通常比utmp的更新更实时。
  • 如果确认是残留的“僵尸”条目,可以先通过 who -u 查看空闲时间(idle)过长的会话,确认其已无活动后,再使用 pkill -u username 命令来清理该用户可能残留的所有进程。

说到底,whow 命令本身并不复杂,真正的挑战在于理解它们背后的数据源——/var/run/utmp 文件的生命周期管理机制。这个文件由 login 程序写入,依赖 logout 流程或特定的内核信号来触发清理。中间任何一个环节断裂,就会导致 wwho 给出过时甚至误导性的信息。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
Linux
相关文章 更多
Windows安装Docker教程:启用WSL2并运行第一个容器验证
Windows安装Docker教程:启用WSL2并运行第一个容器验证

本文提供Windows环境下安装Docker Desktop的完整步骤,重点在于启用WSL2后端及验证容器运行。通过PowerShell执行docker version确认客户端与服务端连通,并运行hello-world测试镜像完成基础环境搭建。

CentOS 7在VMware中的完整安装与验证指南
CentOS 7在VMware中的完整安装与验证指南

本文详细讲解如何在VMware Workstation中从零开始安装CentOS 7虚拟机。内容涵盖ISO镜像准备、典型配置创建、硬件参数分配(磁盘与内存)、安装器操作及首次启动后的版本与网络验证。通过规范化的步骤指引,帮助读者快速搭建稳定可用的Linux学习环境,并解决常见的启动与网络故障。

Kubernetes入门:用kubectl创建并查看第一个Deployment
Kubernetes入门:用kubectl创建并查看第一个Deployment

本文指导使用 kubectl 创建最小 nginx Deployment,并通过 READY、UP-TO-DATE、AVAILABLE 与 Pod Running 状态进行验收。重点区分“命令已接收”和“工作负载已可用”,并在状态异常时利用 Pod 详情与事件输出定位镜像、调度或启动问题。

Mac外接鼠标滚动方向设置:关闭自然滚动与触控板分离方案
Mac外接鼠标滚动方向设置:关闭自然滚动与触控板分离方案

Mac外接鼠标滚动方向与触控板不一致时,可通过系统设置中的“自然滚动”开关调整。本文详解如何进入鼠标设置页面、切换滚动逻辑,并提供鼠标与触控板方向分离的第三方工具方案,解决滚轮手感不适及多设备冲突问题。

Ubuntu命令行入门:打开终端并验证文件目录操作
Ubuntu命令行入门:打开终端并验证文件目录操作

本教程指导Ubuntu新手打开终端,通过pwd、ls、cd、mkdir和touch命令完成基础文件目录操作。适用于桌面版、虚拟机及WSL环境,提供从查看路径到创建测试文件的完整验证步骤,帮助读者建立命令行操作的安全意识与正确习惯。

Nginx Windows版安装、启动与验证完整指南
Nginx Windows版安装、启动与验证完整指南

本教程针对Windows环境,详解Nginx稳定版(如1.24.0)的下载、解压、启动及验证流程。核心步骤包括:下载官方压缩包至英文目录,使用start nginx启动,通过localhost访问默认页面,并利用tasklist和nginx -t命令确认进程状态及配置语法。涵盖端口冲突排查、配置重载及停止服务的标准操作,适用于本地开发环境搭建与基础运维验证。

VMware虚拟机共享文件夹配置与读写验证教程
VMware虚拟机共享文件夹配置与读写验证教程

本文提供VMware虚拟机共享文件夹的配置与验证方法。核心步骤包括:确保VMware Tools已安装,在虚拟机设置中启用共享文件夹并添加主机目录,最后通过读写测试文件确认传输正常。适用于Windows及Linux虚拟机,旨在解决主机与虚拟机间文件交换问题。

大数据分析师Linux环境教程:安装Hadoop并验证版本与进程状态
大数据分析师Linux环境教程:安装Hadoop并验证版本与进程状态

本教程指导大数据分析师在Linux环境中安装Hadoop,通过配置环境变量、验证版本及启动服务,确保Java和Hadoop命令可用。最终利用jps命令检查NameNode等核心进程状态,为后续学习HDFS和Spark打下基础。

在VMware中安装Ubuntu并验证启动的完整步骤
在VMware中安装Ubuntu并验证启动的完整步骤

本文提供在VMware中安装Ubuntu并验证启动的完整流程。适用于首次练习Linux或搭建开发环境的用户。按步骤完成虚拟机创建、ISO挂载、硬件分配与安装后,可通过终端命令确认版本、内核与网络状态,确保系统可正常使用。

Win10专业版U盘安装教程:制作启动盘与完成安装
Win10专业版U盘安装教程:制作启动盘与完成安装

本文提供从准备镜像到完成安装的完整链路。需准备8GB以上U盘与官方镜像,制作启动盘会清空U盘数据。通过F12等快捷键或BIOS设置从U盘启动,安装时选择专业版并谨慎分区。完成后在“设置—系统—关于”验证版本,并检查激活与驱动状态。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。