2017-03-19 57 views
-1

我寫了一個名爲Music_Scrape.py的python腳本,它位於以下目錄/ Users/MY_USER_NAME/code/Python_Projects中。該腳本使用終端命令/Users/MY_USER_NAME/code/Python_Projects/Music_Scrape.py運行。我試圖每天都有這個運行,但似乎無法獲得cron或launchd的工作。我正在使用OSX El Capitan版本10.11.6。cron和launchd都不能成功運行python腳本?

在CronniX中創建以下內容不起作用(爲了進行調試,我嘗試每分鐘運行一次)。

CronniX attempt

我也嘗試使用launchd會與下面的plist文件。這放在〜/ Library/LaunchAgents目錄中。我試圖啓動與下面的命令:

launchctl負載〜/庫/ LaunchAgents/pullMusic.plist

launchctl開始pullMusic

又什麼都沒有發生。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>Label</key> 
    <!-- The label should be the same as the filename without the extension --> 
    <string>pullMusic</string> 
    <!-- Specify how to run your program here --> 
    <key>Program</key> 
     <string>/Users/samuelcurtis/code/Python_Projects/Music_Scrape.py</string> 
    <!-- Run every minute --> 
    <key>StartInterval</key> 
    <integer>60</integer><!-- seconds --> 
</dict> 
</plist> 

我已閱讀了許多與此問題有關的帖子,並嘗試使用絕對文件路徑和更改權限,這兩者似乎都沒有幫助。看起來,安排命令行命令以一定的時間間隔執行應該是一個更簡單的任務,但顯然不是!我們會推薦哪些步驟來調試該問題?

回答

0

爲了獲得最簡單的cron GUI的Raspbian,這樣做:

sudo apt-get install gnome-schedule 

將它安裝到你的菜單,使得它很容易設置的東西cron的一面。

對於我的bash腳本,我把它們放在我的〜/ scripts目錄中,它運行得很好。

如果你想從你的腳本中調用Python程序,你可能知道

chmod +x <filename> 

,纔可以在命令行直接運行。

每當我遇到任何腳本問題時,我總是通過手動運行它,從我的/ home/pi目錄開始。

然後,我建我的劇本,包括像這種定期行:

echo "Beginning phase 1" >/home/pi/scripts/test.out 
echo date >>/home/pi/scripts/test.out 
    and so on 

然後把它在腳本目錄中,然後使用調度程序來啓動它運行。

通過查看test.out文件,您可以看到您從任何命令的stdout追加的任何輸出。

它令人安心,事情正如你所期望的那樣工作。

+0

這似乎沒有解決這個問題。問題不在於運行腳本。如問題所述,腳本可以在手動輸入到終端的情況下正常運行。問題是,應該自動執行此命令的工具被輸入到終端中,並不像預期的那樣正常工作,我不知道爲什麼。編輯:我確實使用chmod命令將我的python程序變爲可執行腳本。 – sjc