我試圖弄清楚爲什麼我的守護進程不會自動啓動(在Mac 10.8.3上)。但是,它在其他機器上運行良好。這是我在/庫/ LaunchDaemons的plist/launchd不啓動我的守護進程
<?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.MyApp.tmsm.launcher</string>
<key>ProgramArguments</key>
<array>
<string>/Library/Application Support/MyApp/tmsmLauncher</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
我沒有看到/var/log/system.log
任何錯誤消息。我檢查了我的daemon
的permission
和owner
。如果我把我的plist放在/System/Library/LaunchDaemons/
之下,它可以在reboot
之後啓動。但對我來說這不是一個好的解決方案。如果我使用「launchctl load /Library/LaunchDaemons/com.MyApp.tmsm.launcher
」,它運作良好。如果我安裝其他商業軟件,這是一個守護進程,並有/Library/LaunchDaemons/
下的plist,它也不能啓動。
似乎任何plist根據/Library/LaunchDaemons/
不是由系統加載。我還嘗試使用命令「launchctl log level debug
」打開launchctl調試級別,但重新啓動後不再有消息。重啓後調試級別是否重置?其他日誌或配置我可以檢查?
謝謝。
請查看作業定義文件。如果發生以下情況,launchd(8)將拒絕加載作業: - 作業定義文件可由「組」或「其他」寫入 - 作業定義不屬於'root'(或作業定義中指定的用戶) - 作業定義文件名不以'.plist'結尾 – LCC
定義文件的權限和所有者是正確的。 '-rw -r - r-- 1個根輪' –