假设我在我的主目录中编译了一个小的“Hello World”Java 程序。我可以java helloWorld
从我的主目录运行它,它可以毫无问题地执行。
现在我需要安排执行这个程序让我们说从现在开始的 10 分钟之后。所以,我在控制台上执行以下命令:
at now+10min
warning: commands will be executed using /bin/sh
at> java helloWorld
Press CTRL+D to finish
所以它被正确安排,因为我可以用at -l
命令看到它。但此时什么都没有发生。
为什么?它有什么问题?因为,如果我不是安排执行我自己的程序,而是安排执行 gedit 命令,它会在指定时间打开它。但是对于我自己的程序,它不会执行任何操作。我怎样才能改变这种情况?
做什么
helloworld
?如果是文本应用程序,您将看不到输出(除非您设置将 cron 报告接收到本地电子邮件)。如果它是 GUI 应用程序,它将无法工作,因为cron
无法启动 GUI 应用程序。因此,尝试使用在您的系统上创建文件的 Java 应用程序(例如,在 中
/tmp
)并观察它是否发生。此外,请使用 MAILTO 选项,
crontab
以确保您cron
可以正常运行。通知电子邮件包括程序的输出(例如,消息Hello world!
)和运行命令时的任何错误。尝试给出文件的完整路径,例如: