Hay*_*ore 3 command-line bashrc watch-command 16.04
我正在运行 Ubuntu 服务器 16.04,我通过 SSH 进入。
我正在寻找一种方法让 watch 命令监控多个事情但遇到问题。
我有一个工作功能可以监控我的 CPU 和 GPU 温度,如下所示。
temps() {
watch -d -n1 'sensors coretemp-isa-0000 nouveau-pci-0100'
}
Run Code Online (Sandbox Code Playgroud)
这给我这个输出效果很好。
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +35.0c
Core 1: +33.0c
Core 2: +33.0c
Core 3: +34.0c
nouveau-pci-0100
Adapter: PCI adapter
GPU core: +0.86 V
fan1: 780 RPM
Temp1: +41.0c
Power1: 13.26 W
Run Code Online (Sandbox Code Playgroud)
我也有这个功能可以监控 CPU MHz..
mhz() {
watch -d -n1 'cat /proc/cpuinfo | grep "MHz"'
}
Run Code Online (Sandbox Code Playgroud)
这本身也很好用,给我这个输出
cpu MHz :1600.001
cpu MHz :1600.001
cpu MHz :1600.001
cpu MHz :1600.001
Run Code Online (Sandbox Code Playgroud)
但我希望能够拥有一个功能,可以同时为我提供两个输出,但我无法使其正常工作。
我尝试了一些方法将这两个功能合二为一,.bashrc因此我得到了一个同时包含临时值和核心时钟的输出。但到目前为止watch只给我错误或空白屏幕。
这些是我尝试过的一些事情。(抱歉删除这些命令,但我觉得自己尝试是一种很好的学习方式,但到目前为止我一直没有成功。)
我尝试的第一件事只是将它们放在一起。
watch -d -n1 'sensors coretemp-isa-0000 nouveau-pci-0100 cat /proc/cpuinfo | grep "MHz"'
Run Code Online (Sandbox Code Playgroud)
这只是给我错误。我尝试了许多不同的引用方式来试图让它发挥作用(我知道 watch 非常注重引用)。当失败时,我尝试为传感器和 cat 命令创建变量,但我认为这对我没有帮助,例如我有这个..
temp="watch -d -n1 'sensors coretemp-isa-0000 nouveau-pci-0100'"
clock="watch -d -n1 'cat /proc/cpuinfo | grep "MHz"'"
watch -d -n1 $temp $clock
Run Code Online (Sandbox Code Playgroud)
再次失败:(
如果有人能帮我弄清楚如何让 watch 命令同时输出,这样我就不必有两个单独的功能了在 watch 命令的一个输出中。
它就像将两个命令与;参数字符串内部的一个连接在一起一样简单watch:
watch -d -n1 'sensors coretemp-isa-0000 nouveau-pci-0100 ; grep MHz /proc/cpuinfo'
Run Code Online (Sandbox Code Playgroud)
另请注意,我简化了您的第二个命令,因为grep可以直接从文件中读取。