使用 top 命令的 cron 脚本和 TERM 定义问题

使用 top 命令的 cron 脚本和 TERM 定义问题

我在执行 cron 进程来检查服务器当前 CPU 使用情况时遇到问题。

我的脚本以此开头:

top -c -n 1 -u www-data > /tmp/kill-cpu

我可以在控制台中毫无问题地执行,但在 cron 中我得到了

顶部:tty 获取失败

如果我使用 -b 选项

top -b -n 1

我明白了

‘dumb’:未知的终端类型。

我使用 xterm 作为 TERM

谢谢你的帮助:)
Lito。

解决方案:我能够通过以下方式解决问题:

ln -s /lib/terminfo/d/dumb /usr/share/terminfo/d/dumb

答案1

您可以尝试以下方法:

TERM=vt100 top -b -n 1

这将设置 TERM 变量以与“top”命令一起执行。

但您的根本问题是您的 termcap 数据库不完整或损坏。我没有 Debian 机器可以查看,但在 Ubuntu 机器上,“愚蠢的”termcap 信息位于文件 /usr/share/terminfo/d/dumb 中。此文件是 Ubuntu 8.04 和 10.04 上 ncurses-base 包的一部分。在 RHEL 上,它是 ncurses 包的一部分。也许您的安装只是缺少这个文件?

相关内容