有没有类似( ) 命令top
的监视器?如果它是一个需要安装的包,那就没问题。任何 Linux 版本。我想要一个简单的 CLI 实时监视器,用于监视登录到系统的用户以及他们正在做什么。TIAw
who
答案1
您有几种可能。我立即想到的都是基于定期执行命令的想法w
(因此,严格来说,它们不是实时监视器,但 top 也只是定期刷新当前进程):
基于 Shell(bash 语法)
w
每秒执行一次的无限循环:while true; do clear w sleep 1 done
还有一个专门用于此目的的程序,称为
watch
:watch -n 1 "w"
虽然可能性 1 和 2 通常有效盒子外面在标准 GNU/Linux 系统上,还有一个名为
multitail
。虽然最初是为了另一个目的而设计的,MultiTail 程序允许您查看一个或多个文件,就像原来的 tail 程序一样。不同之处在于它会在您的控制台上创建多个窗口(使用 ncurses)。它还可以监视通配符:如果另一个与通配符匹配的文件的修改日期更近,它会自动切换到该文件。
它还可以定期执行程序:
multitail -r 1 -l "w"
两者watch
也multitail
可以突出显示与上次运行相比的差异,请检查手册页以了解相应的(以及更多)选项。
答案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 脚本)会采取一些非常明显的行动来吸引你的注意,参见这里寻求一些建议。