我在 macOS 上。我想编写一个 bash 脚本,当某个进程(我仅通过命令名称知道)使用超过 5% 的 CPU 时,该脚本会暂停 0.5 秒(即休眠)。我可以
pgrep command_name
进而
ps -p PID -o %cpu | tail -1 | cut -c 3-5
获取 CPU 使用率并在 while 循环中使用该数字。这可以更优雅地完成吗(最好用一行代码)?
答案1
您可以通过使用命令替换来使其更简单:
ps -p $(pgrep firefox) -o %cpu | tail -1 | cut -c 3-5
恐怕我没有 Mac 来测试,所以以下内容可能不适用于您的系统,但在 Linux 上,我们可以使用来%cpu=
避免打印标头:
$ ps -p $(pgrep firefox) -o %cpu
%CPU
23.3
$ ps -p $(pgrep firefox) -o %cpu=
23.3
这意味着ps -p $(pgrep firefox) -o %cpu=
只给你这个数字就足够了。