2013-02-23 36 views
1

我知道這裏有大約一千種這樣的PLIST文件問題(這本身應該告訴蘋果他們完全錯了這個問題),但我還沒有找到答案這對我行得通。plist清洗腳本不啓動

我可以用crontab中的一行做什麼,現在需要一個xml文件,我無法正常運行。

plist文件看起來像這樣:

<?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> 
    <string>com.ll.dbcopy</string> 
    <key>Program</key> 
    <string>/Users/MyName/backup/dbcopy.sh</string> 
    <key>StartCalendarInterval</key> 
    <dict> 
     <key>Minute</key> 
     <integer>30</integer> 
     <key>Hour</key> 
     <integer>7</integer> 
    </dict> 
</dict> 
</plist> 

它放在/Library/LaunchAgents

如果我嘗試使用sudo launchctl start com.ll.dbcopy運行它,它說

error no such process

我可以運行程序它指向很好。

任何想法爲什麼會失敗?

感謝您的幫助。

回答

1

如果有人遇到過這個問題,您需要在嘗試運行之前先啓動加載plist。你得到了「沒有這樣的過程」,因爲launchctl在加載的plist腳本數組中找不到plist。你實際上並沒有啓動這個文件(根據蘋果的launchctl的MAN頁面,這會更符合邏輯,因爲「start」明確用於測試),你指向plists列表中的引用並開始。

因此,如果您對plist進行了更改並希望再次「啓動」,則需要卸載並重新加載。

0

任何人碰到這個問題,未來可能會打字:

launchctl start ... 

時,他們想要的是:

launchctl load ... 
+0

這就是我的答案已經說,雖然可以說你是短,從而更好地:) – Adergaard 2013-12-07 17:38:33

+0

我提出了你的答案,這使我找到了解決方案,但是一開始並不完全明白你的意思。 – paulmelnikow 2013-12-07 17:59:07