我正在使用crontab调用c程序。
如果我直接调用该程序,一切都很好。 如果cron调用该程序,则无法打开我的.log文件。
程序在目录
中/ stuff1 / stuff2 / stuff3 /程序
程序中的所有路径名都是绝对的 为了确保,我chmod 777在stuff3中的所有内容
编辑: 来自crontab的行是
0 * * * * /stuff1/stuff2/stuff3/program
EDIT2:
问题不在于cron,如果我像这样运行
cd /
/stuff1/stuff2/stuff3/program
失败
如果我这样运行:
cd /stuff1/stuff2/stuff3/program
program
一切都很好。
当以这两种不同的方式运行时,linux改变了什么会影响我的程序?
答案 0 :(得分:0)
这可能会帮助你找到它的底部,因为你至少知道一些C: http://stromberg.dnsalias.org/~strombrg/debugging-with-syscall-tracers.html
答案 1 :(得分:0)
问题在于我正在尝试写入的程序./ 这导致权限失败,因为cron没有从它所在的目录运行程序,而是从我没有写入权限的其他目录运行它。