所以我有一个应该每周一运行的启动代理 plist,然后它运行一个名为的可执行文件sync-stuff.sh
,该文件反过来会brew bundle dump --force
在我的 iCloud 驱动器上的特定位置转储一个 Brewfile。
今天早上它没有运行,我不明白为什么。当我再次尝试启动它时,我得到了这个:
$: launchctl bootstrap user/$(id -u) Library/LaunchAgents/com.me.backup.mackup.plist
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
$: sudo !!
$: sudo launchctl bootstrap user/$(id -u) ~/Library/LaunchAgents/com.me.backup.mackup.plist
Password:
/Users/evert/Library/LaunchAgents/com.me.backup.mackup.plist: service already bootstrapped
Bootstrap failed: 17: File exists
$: sudo launchctl enable user/$(id -u)/com.me.backup.mackup
$: sudo launchctl kickstart -p user/$(id -u)/com.me.backup.mackup
Could not find service "com.me.backup.mackup" in domain for uid: 501
所以我想,好吧,我会再试boutout
一次。bootstrap
$: sudo launchctl bootout user/$(id -u)/com.me.backup.mackup
Boot-out failed: 3: No such process
因此,当我引导时,它说service already bootstrapped
,但它没有在应该运行的时间运行,当我尝试启动它时,它说,Could not find service "com.me.backup.mackup" in domain for uid: 501
当我尝试时也会发生同样的情况bootout
。
所以现在我不知道我的 LaunchAgent 的状态如何,也不知道如何让它工作。有人能帮忙吗?
哦,是的,我在使用 macOS Monterey,遗留load
和unload
子命令似乎最终被删除了,所以我不再使用它们了。
编辑
难道我的com.me.backup.mackup.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.me.backup.mackup</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>exec $HOME/Scripts/sync-stuff.sh --launch-agent</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Weekday</key>
<integer>1</integer>
</dict>
<key>LimitLoadToSessionType</key>
<string>Background</string>
</dict>
</plist>
答案1
我遇到了同样的Boot-out failed: 3: No such process
错误。
尝试将“user”更改为“gui”:
sudo launchctl bootout gui/$(id -u)/com.me.backup.mackup