Answers:
MacOS X使用Vixie cron,它具有用于重新启动时启动的特殊元标记。有关文件格式,请参见手册页。
就像是:
@reboot /path/to/script.sh
在您的crontab中会起作用。我不确定这是不是比发布的更好的解决方案,您可能比发布的cron具有更多的发布元工具。
如果您改变意见:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.superuser.245713</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/script.sh</string>
</array>
<key>UserName</key>
<string>someuser</string>
</dict>
</plist>
按原样存储com.superuser.245713.plist
,/Library/LaunchAgents/
并成为root:wheel
所有者/组。
/Library/LaunchAgents
而不是/System/Library/LaunchDaemons
因为它/System
是特定于操作系统的东西,而下面的/Library
东西更多地用于第三方东西。另外,LaunchDaemons
“应包含将以root身份运行的项目,通常是后台进程”,其中LaunchAgents
“以用户身份运行或在用户域的上下文中运行”。这些引文的来源是一篇很棒的文章,我就发布的问题进行了咨询。
cron
在OS X上默认情况下记录不是那么好(几天前有一个话题)。