Cron工作无法启动

时间:2013-12-21 09:15:20

标签: shell cron

我有一份cron工作

* * * * * /home/username/start.sh that runs every minutes

start.sh内容:

touch /home/username/test.txt
firefox

cron作业会更改test.txt的时间戳,但无法打开firefox。我已经尝试过设置env变量,但它似乎不起作用。

1 个答案:

答案 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,则可以使用wgetcurl等shell工具(其中一个很可能已安装)来刺激它。如果您想进行测试(如果您想开发优质软件,那么请查看Seleniumnodeunit等框架。