2012-07-20 48 views
0

我正在使用crontab調用c程序。通過cron運行我的程序會導致權限失敗

如果我直接調用程序,一切都很好。 如果程序被cron調用,我的.log文件無法打開。

程序是在一個目錄

/stuff1/stuff2/stuff3 /程序

程序中的所有路徑名都stuff3

絕對 ,以確保公正,我CHMOD 777'd一切

編輯: 從crontab的該生產線是

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

EDIT2:

問題不是通過計劃,如果我運行它像這樣

cd/
/stuff1/stuff2/stuff3/program 

失敗

我辦這樣的:

cd /stuff1/stuff2/stuff3/program 
program 

一切是桃色的。 在這兩種不同的方式運行時,linux會發生什麼變化,可能會影響我的程序?

+0

您可能正在查看權限/用戶環境/工作目錄問題。儘管如此,很難從所給的信息中知道。 – OmnipotentEntity 2012-07-20 19:31:25

+0

我們需要更具體的信息;來自你的crontab的確切的行將是一個好的開始。順便說一下'chmod 777'太過分了;對於可執行文件和目錄通常是755,對於其他文件通常是644就足夠了。另外,這不是一個真正的編程問題。我要將它標記爲遷移到unix.stackexchange.com。 – 2012-07-20 19:40:20

+1

Linux可能不會改變一件事情。程序是否將文件寫入當前目錄? – 2012-07-20 19:55:38

回答

0

的問題是,我是分叉試圖將程序寫入到./ 這導致權限失敗,因爲cron不從它所在的目錄運行程序,而是從其他沒有寫入權限的目錄運行它。

相關問題