0

crontab を使用して ac プログラムを呼び出しています。

プログラムを直接呼び出すと、すべて問題ありません。プログラムが cron によって呼び出された場合、.log ファイルを開くことができません。

プログラムはディレクトリにあります

/stuff1/stuff2/stuff3/プログラム

プログラム内のすべてのパス名は絶対パスです。念のため、stuff3 のすべてを chmod 777 しました。

編集:crontabの行は

0 * * * * /stuff1/stuff2/stuff3/program

EDIT2:

このように実行すると、cronに問題はありません

cd /
/stuff1/stuff2/stuff3/program

それは失敗します

次のように実行すると:

cd /stuff1/stuff2/stuff3/program
program

すべてが桃です。これら 2 つの異なる方法で実行すると、私のプログラムに影響を与える可能性のある Linux の変更は何ですか?

4

2 に答える 2

0

問題は、私がフォークしていたプログラムが書き込もうとしていたことでした。/cronはプログラムをそのディレクトリから実行せず、書き込みがなかった他のディレクトリから実行するため、アクセス許可が失敗しました。の権限。

于 2012-07-25T19:43:03.963 に答える
0

少なくともいくつかの C を知っているので、これはおそらくそれを理解するのに役立ちます: http://stromberg.dnsalias.org/~strombrg/debugging-with-syscall-tracers.html

于 2012-07-20T22:04:47.777 に答える