Bash脚本可以自行执行,但不能与cron一起执行

时间:2016-08-30 00:32:08

标签: bash cron ubuntu-14.04 crontab cron-task

我输入

  

crontab -e

我的crontab看起来像

*/1 * * * * /home/sara/Desktop/kioskscripts/reloadpage.sh >> /home/sara/Desktop/kioskscripts/logfile.log

logfile在/ kioskscripts中创建,但仍为空。

reloadpage.sh看起来像这样

#!/bin/bash
sleep 5
/usr/bin/xdotool key F5
  

sh reloadpage.sh

按预期工作,并模拟执行后5秒按下f5。

1 个答案:

答案 0 :(得分:2)

cron执行的程序没有活动窗口,因此您需要使用--window选项明确指定要将击键发送到哪个窗口。

您可以使用xdotool getactivewindow获取当前活动窗口的窗口ID,然后在xdotool命令中使用该编号。或者,您可以使用xdotool search和各种选项来查找要引导击键的窗口。阅读man xdotool了解各种搜索选项。 (您可以在一个命令中执行此操作:xdotool search --name Foo key F5会将F5发送到名称中包含FOO的窗口。)

但是只有当指示的窗口接受事件时才会有效,而许多窗口则不会。