在我升级到 10.6 后,10.5 中运行的启动项不再运行。我正在运行 10.6.2,我重新创建了启动项并为其赋予了新名称,但它仍然无法运行。
我找到了一个有同样问题的人的链接谷歌群组但该链接中的任何建议都无济于事。我的 launchd 项目未在/private/var/db/launchd.db/com.apple.launchd/overrides.plist
以下子目录中的任何 overrides.plist 文件中列出:/private/var/db/launchd.db/
我也尝试将其设置为用户代理和用户守护程序。
我的 launchd 项目只是运行一个 shell 脚本,我可以毫无问题地手动启动它。
<?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.eric.tmnotify.launchd</string>
<key>ProgramArguments</key>
<array>
<string>/<path_to>/tmnotify.sh</string>
</array>
<key>StartInterval</key>
<integer>3600</integer>
</dict>
</plist>
我尝试通过覆盖禁用的键来加载它(即使在任何 overrides.plist 文件中都没有禁用它),方法如下:
sudo launchctl load -F /Users/eric/Library/LaunchAgents/com.eric.tmnotify.launchd.plist
sudo launchctl load -w /Users/eric/Library/LaunchAgents/com.eric.tmnotify.launchd.plist
并且在运行其中任何一个之后,我可以看到它正在通过使用而运行,sudo launchctl list
但是 shell 脚本从未触发。
编辑:我还将其放在了以前的空白文件中/private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.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>com.eric.tmnotify.launchd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
</dict>
</plist>
我也尝试按字母顺序插入以下内容:
<key>com.eric.tmnotify.launchd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
进入文件/private/var/db/launchd.db/com.apple.launchd/overrides.plist
但仍然没有骰子。
答案1
Mac App Store 中发布的 Lingon for Snow Leopard 解决了这个问题。