以下是我在 /usr/local/bin/ 中的 sample.sh
#!/bin/sh
mkdir -p /Volumes/folder
mount -t afp -o rw afp://user:password@server_name/folder_name /Volumes/folder
以下是 /Library/LaunchAgents/ 中的 com.apple.sample.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.apple.sample</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/sample.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
当我能够独立运行 sample.sh 并且运行正常时。
我也尝试过使用 launchd.conf 作为
mkdir -p /Volumes/folder
mount -t afp -o rw afp://user:password@server_name/shared_folder /Volumes/folder
还是行不通。
答案1
/Library/LaunchAgents/
与单个用户绑定,而与/Library/LaunchDaemons/
整个机器绑定。系统启动并运行内核后,/Library/LaunchDaemons/
首先加载在中找到的属性列表文件,因为它们是系统级守护进程。
我尝试放入 com.apple.sample.plist /Library/LaunchDaemons/
,成功了。安装成功。
但 10 次中有 8 次成功,2 次失败。