我如何安排程序的执行?

我如何安排程序的执行?

假设我的主目录中编译了一个小型“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 命令,它会在指定的时间打开它。但是对于我自己的程序,它不会执行任何操作。我该如何改变这种情况?

答案1

它做什么helloworld?如果是文本应用程序,您将看不到输出(除非您设置为将 cron 报告接收至本地电子邮件)。如果是 GUI 应用程序,它将无法工作,因为cron无法启动 GUI 应用程序。

因此,尝试使用在您的系统上创建文件的 Java 应用程序(例如,在/tmp)并观察是否发生这种情况。

此外,请使用 MAILTO 选项以crontab确保cron正常运行。通知电子邮件包括程序的输出(例如消息Hello world!)以及运行命令时出现的任何错误。

答案2

尝试提供文件的完整路径,例如:

java /home/ward/prog/helloWorld

相关内容