首先,我是新手。我对 Windows 脚本和苹果脚本有一些经验,但对 bash 没有太多经验。我想要做的是获取特定进程的 PID 和 %CPU。然后将 %CPU 与设定的数字进行比较,如果更高,则终止该进程。我觉得我很接近,但现在我收到以下错误:
[[:0.0:语法错误:算术运算符无效(错误标记为“.0”)
我究竟做错了什么?到目前为止,这是我的代码:
#!/bin/bash
declare -i app_pid
declare -i app_cpu
declare -i cpu_limit
app_name="top"
cpu_limit="50"
app_pid=`ps aux | grep $app_name | grep -v grep | awk {'print $2'}`
app_cpu=`ps aux | grep $app_name | grep -v grep | awk {'print $3'}`
if [[ ! $app_cpu -gt $cpu_limit ]]; then
echo "crap"
else
echo "we're good"
fi
显然,我将替换 if/then 语句中的回声,但无论 cpu 负载实际是什么,它都表现得好像该语句是真的(我通过将 -gt 更改为 -lt 进行了测试,它仍然回显“废话” "
谢谢大家的帮助。哦,如果这很重要,这是在 OS X 10.7 上。