python、cron 以及与 Growl 的交互

python、cron 以及与 Growl 的交互

我有以下名为 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/,则必须在脚本中指定完整路径。

相关内容