我有以下名为 temp.py 的 python 文件
import subprocess
p = subprocess.Popen('growlnotify -m \"Program is not running\"', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
retval = p.wait()
print "end"
它可以通过命令行使用“python temp.py”和“sudo python temp.py”正常工作(它所需要做的就是显示咆哮通知)
我使用“crontab -e”打开 crontab(我在 OSX 上,如果有帮助的话。我添加了以下行
- 8-23 * * * python /Users/xxx/Dropbox/scripts/temp.py >> /Users/xx/running.txt
我希望该程序从早上 8 点到晚上 23 点每分钟执行一次 - 并且它确实执行了,'running.txt'文件正在填满 - 但是我没有收到咆哮通知 - 有什么想法吗?
答案1
crontab 中的默认路径是/usr/bin:/bin
。如果你将 growlnotify 安装在其他地方,例如/usr/local/bin/
,则必须在脚本中指定完整路径。