Linux:w(who)命令类似top的监视器

Linux:w(who)命令类似top的监视器

有没有类似( ) 命令top的监视器?如果它是一个需要安装的包,那就没问题。任何 Linux 版本。我想要一个简单的 CLI 实时监视器,用于监视登录到系统的用户以及他们正在做什么。TIAwwho

答案1

您有几种可能。我立即想到的都是基于定期执行命令的想法w(因此,严格来说,它们不是实时监视器,但 top 也只是定期刷新当前进程):

  1. 基于 Shell(bash 语法)

    w每秒执行一次的无限循环:

    while true; do
       clear
       w
       sleep 1
    done
    
  2. 还有一个专门用于此目的的程序,称为watch

    watch -n 1 "w"
    
  3. 虽然可能性 1 和 2 通常有效盒子外面在标准 GNU/Linux 系统上,还有一个名为multitail。虽然最初是为了另一个目的而设计的,

    MultiTail 程序允许您查看一个或多个文件,就像原来的 tail 程序一样。不同之处在于它会在您的控制台上创建多个窗口(使用 ncurses)。它还可以监视通配符:如果另一个与通配符匹配的文件的修改日期更近,它会自动切换到该文件。

    它还可以定期执行程序:

    multitail -r 1 -l "w"
    

两者watchmultitail可以突出显示与上次运行相比的差异,请检查手册页以了解相应的(以及更多)选项。

答案2

最后一个命令通过读取 /var/log/wtmp 来执行。您可以通过以下方式对其进行监视:通知等待(*inotify-tools 包的一部分)如下:

   while inotifywait -e close_write /var/log/wtmp ; do /path/to/executable/script; done 

其中 /path/to/executable/script 是某个脚本(由其执行)chmod 755 脚本)会采取一些非常明显的行动来吸引你的注意,参见这里寻求一些建议。

相关内容