我在 ~/Library/LaunchAgents 有以下 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.yogapo.test_launchd</string>
<key>Program</key>
<string>. /Users/luke/dev/data_yogapo/script/test_launchd.sh</string>
<key>StartInterval</key>
<integer>10</integer>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
test_launchd.sh 文件包含以下内容:
#! /bin/bash
echo "hello world from test_launchd.sh" >> /Users/luke/dev/data_yogapo/log/development.log
当我手动运行 test_launchd.sh 时
. /Users/luke/dev/data_yogapo/script/test_launchd.sh
,结果符合预期:该行出现在末尾development.log
但是当我加载这个 plist 文件时,什么也没有发生:
$ cd ~/Library/LaunchAgents
$ launchctl load com.yogapo.test_launchd.plist
$ launchctl list | grep yogapo
- 1 com.yogapo.test_launchd
我已经尝试过使用和不使用 RunAtLoad 键。我已经在 SO 以及互联网上的其他地方查看了其他答案。我已经按照教程进行操作,但根本没有发生任何事情。非常感谢任何帮助 - 谢谢!