我有一份cron工作
* * * * * /home/username/start.sh that runs every minutes
start.sh
内容:
touch /home/username/test.txt
firefox
cron作业会更改test.txt
的时间戳,但无法打开firefox
。我已经尝试过设置env变量,但它似乎不起作用。
答案 0 :(得分:2)
您需要指向firefox
的绝对路径,您可以使用which firefox
作为普通用户找到该路径。例如,该值可以是/usr/bin/firefox
。
此外,firefox
是一个GUI程序,但是cron作业在后台运行,并且不知道X,因此您无法以这种方式启动新的Firefox客户端。例如,考虑是否有两个桌面登录到同一台计算机,通过网络和本地登录。从cron
运行时,Firefox应该显示在哪里?如果没有更复杂的设置(例如rdesktop
),它就无法在两个地方显示。如果您将添加到环境中,可以在给定的显示器上运行它,就像这样(未经测试):
export DISPLAY=:0.0
/usr/bin/firefox
但是火狐会在第一次运行它之后就会抗议它,所以只有你每分钟都关闭窗口才会起作用。
你想要完成什么?
如果您尝试使用check that a web server is running,则可以使用wget
或curl
等shell工具(其中一个很可能已安装)来刺激它。如果您想进行测试(如果您想开发优质软件,那么请查看Selenium和nodeunit等框架。