memory - Python 脚本在 crontab 的 int() 转换中存在问题
问题描述
我正在检查我的树莓派的内存。工作没问题。
但是当我想每分钟运行一次时,crontab 说将字符串转换为 int
ValueError: invalid literal for int() with base 10: ''
My script.py时出错:
intmemused = 0
cmd = "top -n1 | grep 'Mem :'| awk '{print $6;}'"
output = Popen(cmd,shell=True, stdout=PIPE)
memused = output.communicate()[0].strip()
memused = str(memused.decode("utf-8"))
print(memused) |-----------> 589020
intmemused = int(memused) #Error when crontab execute my scrypt
mem = intmemused * 100
mem = float(mem) / float(memtot)
mem = 100 - float(mem)
mem = round(mem,2)
我的crontab:
*/1 * * * * /home/dietpi/<b>info.sh</b> 2>/home/dietpi/marseille.log
我的info.sh:
#!/bin/bash
/usr/bin/python3 /home/dietpi/script.py
marseille.log它创建以在 crontab 执行时记录错误,其中包含:
TERM environment variable not set.
Traceback (most recent call last):
File "/home/dietpi/config", line 56, in <module>
intmemused = int(memused)
ValueError: invalid literal for int() with base 10: ''
当我看到这个错误时,我相信memused是空的,但不是。打印589020
我相信空白字符,但我使用了 .strip()
我相信未设置 TERM 环境变量。这是一个问题,但是使用此命令集 | grep TERM有一个很好的答案TERM=xterm
我不明白为什么它适用于 python3 而不是 crontab
你能帮帮我吗?
非常感谢 !
马克斯奎格
解决方案
推荐阅读
- android - Google Play 服务未出现在 Unity 中
- javascript - 如何使用单独的 js 文件打包一个多页面(tsx)网站?
- akka - akka cluster/remoting 在大容量、较慢的订阅者上死了
- python-3.x - 使用 Selenium 和 Python 填写搜索表单
- javascript - 从嵌套的 json 响应中提取数据
- javascript - 向下滑动导航栏重叠
- powershell - Powershell 静默卸载“Microsoft Report Viewer Runtime 2012”
- aurelia - Aurelia UX 展示应用程序无法加载
- c - “返回”数组时的静态或指针
- python - 正则表达式在文本中查找字母和数字单词