1

我知道关于 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

我可以运行它指向的程序就好了。

任何想法为什么它会失败?

谢谢你的帮助。

4

2 回答 2

1

万一其他人遇到此问题,您需要在尝试运行它之前启动 ctl 加载 plist。您会得到“没有这样的过程”,因为 launchctl 在加载的 plist 脚本数组中找不到 plist。您实际上并没有启动文件(这将更合乎逻辑,因为根据 Apple 的 launchctl MAN-pages,“start”被明确用于测试),您指向 plist 列表中的引用并启动它。

所以如果你对 plist 进行了更改并想再次“启动”,你需要卸载然后再次加载。

于 2013-02-23T22:17:50.203 回答
0

Anyone else coming across this question might be typing:

launchctl start ...

when what they want is:

launchctl load ...
于 2013-12-07T16:54:45.390 回答