2013-10-25 64 views
6

升級到小牛,現在啓動/ Lingon無法啓動Ruby腳本。我已經將文件設置爲可執行文件(用chmod + x)和已經在第一行設置爲與小牛隊和Ruby隊一起使用推出

#!/usr/bin/ruby 

不過,我不斷收到在控制檯以下錯誤:

com.apple.launchd.peruser.501[169] (craig.logging[754]): Exited with code: 1 

這是一個權限錯誤,但我不知道什麼權限修復或更改。腳本運行良好在終端與紅寶石。

這使我瘋狂。

更新:導致問題的Ruby腳本將其輸出寫入其他文件,例如,在我的Dropbox中。但是我正在運行launchd文件作爲我的管理員權限來寫入這些文件。不知道怎麼回事...]

更新2:已經開始使用Applescript來啓動終端並運行我的腳本,但這是相當笨拙和不雅。任何人都知道爲什麼launchd不會運行將輸出寫入文件的腳本?還是有人用腳本取得成功?

更新3:由於編碼問題,正在觸發故障。我必須專門設置file.open(路徑/到/文件,編碼:'UTF-8')腳本工作。

謝謝大家。

+0

你試過diskutil repairPermissions/ – Jon

+0

是的 - 沒有改變錯誤。 – craigeley

+0

我必須運行repairPermissions並在我的LaunchDaemon工作之前重新啓動計算機 – Jon

回答

1

我在小牛盒子上有同樣的問題,有幾個Ruby腳本,我已經設置爲以各種間隔運行。我發現雖然升級操作系統的機器出現故障,但與小牛一起提供的新MacBook Pro可以將相同的腳本安排在launchd之外。我最終從零開始擦除了機器並重新安裝小牛(以及其他所有機器),然後安排腳本開始工作。

我知道這不是最微妙的答案,而是Worked For Me™。

1

我仍然不完全確定爲什麼,但由於編碼問題導致權限錯誤被觸發。我不得不專門做這個:

File.open(path/to/file, encoding: 'UTF-8')  

爲腳本工作。

感謝大家的幫助。