我需要设置一个cron作业,每小时运行一次使用gcc编译的可执行文件。
我以root身份登录并输入crontab -e
然后我输入以下内容并保存文件。
0 * * * * /path_to_executable
但是,cron作业不起作用。
我看到当我输入/...path_to_executable
时出现分段错误。
我只能从它所在的文件夹中执行可执行文件。
有没有办法可以解决这个问题?
答案 0 :(得分:139)
0 * * * * cd folder_containing_exe && ./exe_name
除非需要为程序运行设置其他内容,否则应该有效。
答案 1 :(得分:7)
解决这个问题的方法是找出你为什么会遇到分段错误并解决这个问题。
答案 2 :(得分:4)
您还可以使用@hourly
0 * * * *
瞬间
答案 3 :(得分:3)
如果您使用的是Ubuntu,则可以在其中一个文件夹中添加shell脚本:/etc/cron.daily
,/etc/cron.hourly
,/etc/cron.monthly
或/etc/cron.weekly
。
有关详细信息,请查看此帖子:https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
答案 4 :(得分:2)
您是否表示如果从任何其他目录调用可执行文件无法运行?这是可执行文件的一个错误。一个可能的原因可能是可执行文件需要安装文件夹中的一些共享库。您可以检查环境变量LD_LIBRARY_PATH
答案 5 :(得分:1)
由于我无法以这种方式运行 C
可执行文件,因此我编写了一个简单的shell script
来执行以下操作
cd /..path_to_shell_script
./c_executable_name
在cron作业列表中,我调用了shell脚本。
答案 6 :(得分:0)
使用
path_to_exe >> log_file
查看命令的输出 还可以使用
重定向错误path_to_exe &> log_file
你也可以使用
crontab -l
检查您的修改是否已保存。