我如何获得监视命令以同时监视温度和 MHz

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 命令的一个输出中。

Byt*_*der 5

它就像将两个命令与;参数字符串内部的一个连接在一起一样简单watch

watch -d -n1 'sensors coretemp-isa-0000 nouveau-pci-0100 ; grep MHz /proc/cpuinfo'
Run Code Online (Sandbox Code Playgroud)

另请注意,我简化了您的第二个命令,因为grep可以直接从文件中读取。