我的个人启动代理已停止在 MacOS Ventura 中工作。有什么想法吗?

问题描述 投票:0回答:1

多年来我编写了很多启动代理来自动执行一些简单的任务,比如将我的音乐和照片从我的笔记本电脑同步到我的 NAS。最近我注意到他们已经不再像以前那样每天跑步了。相反,它们仅在我登录时运行。这是一个示例启动代理:

<?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.mwheinz.backup_photos</string>
    <key>Program</key>
      <string>/Users/michaelheinz/bin/backup_photos</string>
    <key>StartInterval</key>
    <integer>86400</integer>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

当我用“调试”运行它们时,它说它们被配置为“在启动时”运行:

~ » sudo launchctl debug gui/501/com.mwheinz.backup_books
Password:
Service configured for next launch.

有什么建议吗?我注意到的一件事是,launchd 现在坚持我将我的代理称为“gui/501/

macos launchd
1个回答
1
投票

好的 - 我想通了。对我来说,问题是 plists 的语法在某些时候发生了变化。这个语法:

<key>Program</key>
<string>/Users/michaelheinz/bin/backup_books</string>

变成了这个语法:

<key>ProgramArguments</key>
<array>
  <string>/Users/michaelheinz/bin/backup_books</string>
</array>

我改变了我所有的 plists,他们又开始工作了。

© www.soinside.com 2019 - 2024. All rights reserved.