top: failed tty get

参考链接
top后台执行显示:top: failed tty get 错误

问题

在Shell脚本中以非交互式模式下调用top命令,经常会出现:

top: failed tty get

解决办法

加个 -b 选项即可

解释

执行 man top 查看top的mannual,-b 选项的描述如下:

 -b  :Batch-mode operation
            Starts top in Batch mode, which could be useful for sending output from top to other programs or to  a
            file.  In this mode, top will not accept input and runs until the iterations limit you've set with the
            `-n' command-line option or until killed.
            
 -n  :Number-of-iterations limit as:  -n number
            Specifies the maximum number of iterations, or frames, top should produce before ending.

举例

执行 top -nb 1查看CPU使用率(系统:Ubuntu22.04 x86_64):

# top -nb 1 查看CPU使用率
freeCpuRate=`top -bn 1 | grep 'Cpu' | awk -F' ' '{print $8}' |awk -F'%' '{print $1}'`
echo "freeCpuRate: $freeCpuRate%"

cpuRate=`echo "100-$freeCpuRate" | bc`
echo "cpuRate: $cpuRate%"

输出:

freeCpuRate: 92.1%
cpuRate: 7.9%
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值