我正在尝试使用cron来激活已编译的fortran文件:a.out
成功触发后,a.out文件将生成fort.11文件。
我可以手动成功触发a.out,因此确认gfortran已安装且工作正常。
然而,当尝试使用cron计划任务触发a.out时 - 生成的所有内容都是空的cron.log文件。
至少我可以看到计划任务正在解雇,但我无法运行已编译的fortran文件。
我正在使用mac。
我的crontab脚本:
42 13 * * * /bin/sh /Applications/MAMP/htdocs/dev/WeatherForecaster/_fortran/hour36/a.out >> /Applications/MAMP/htdocs/dev/Weather-Forecaster/_fortran/hour36/cron.log
所以我的问题是:我可能做错了什么导致我的cron作业无法生成输出?
感谢您的帮助。
答案 0 :(得分:1)
您的问题是您在crontab中将程序称为shell脚本。你的crontab应该是:
31 10 * * * /Applications/MAMP/htdocs/dev/Weather-Forecaster/_fortran/hour36/a.out
另请注意,只需安装gfortran并生成可执行文件,一旦有可执行文件,运行不再依赖于编译器,但可能依赖于共享库。因此,运行可执行文件的能力并不能真正确认gfortran是否正确安装,而是编译验证了该程序的程序。
答案 1 :(得分:0)
这是我找到答案的地方:
How to set up a cron job to run an executable every hour?
我成功的cron任务是什么样的:
31 14 * * * cd /Applications/MAMP/htdocs/dev/Weather-Forecaster/_fortran/hour36/ && ./a.out