![使用“w”的登录用户数错误](https://linux22.com/image/4575/%E4%BD%BF%E7%94%A8%E2%80%9Cw%E2%80%9D%E7%9A%84%E7%99%BB%E5%BD%95%E7%94%A8%E6%88%B7%E6%95%B0%E9%94%99%E8%AF%AF.png)
出现临时网络故障,所有用户终端 ssh 会话都中断。再次登录 CentOS 服务器并运行“w”命令时,列出的登录用户数量比实际数量要多。它添加了会话被中断的用户。手动终止了早期的“pts”会话。但目前登录用户数量仍高于实际数量。
有什么方法可以正确终止这些断开连接的“ssh”会话,以在“w”输出中获取正确的登录用户数量?
答案1
这可能是由于/var/run/utmp
文件损坏造成的,如果是这种情况,可以使用以下命令进行修复,该命令最好在单用户模式下运行,否则当前登录的用户可能会遇到一些奇怪的行为:
# >/var/run/utmp
该命令将清除 file 的内容/var/run/utmp
以及#
root 提示符的状态。之后您可以重新启动系统。
答案2
这可能是由损坏的文件引起utmp
的utmpx
。
答案3
服务器实际上没有办法知道由于网络中断而中断的会话与用户起身走开的会话之间的区别。
某些 shell 可能具有超时功能,如果 shell 在指定时间内没有看到任何活动,它将断开会话。