以启动/usr/local/lib/FiDaemon程序为例
1.进入/Library/StartupItems目录,如果StartupItems不存在,需要创建。创建后确定StartupItems用户和组为"root:wheel",权限为"755"。
2.在StartupItems下创建目录FiDaemon。修改用户和组为"root:wheel",权限为"755"。
3.在FiDaemon目录下创建可执行文件(这里是个脚本)FiDaemon,修改用户和组为"root:wheel",权限为"755"。需要注意,可执行文件的名字必须和所在的目录名字相同。这里脚本文件的内容如下:
#!/bin/sh
. /etc/rc.common
# This script will start up FiDaemon
ConsoleMessage "Starting FiDaemon"
export HOME=/usr/local/lib
cd /usr/local/lib
/usr/local/lib/FiDaemon &
网上某些文章说启动程序代码/usr/local/lib/FiDaemon &之前可以加上nohup,但是实际操作中加上nohup导致了启动失败。
4.在FiDaemon目录下创建plist文件StartupParameters.plist,修改用户和组为"root:wheel",权限为"644"。该文件包含以下项目(不是文件具体内容)
{
Description = "FiDaemon";
Provides = ("FiDaemon");
OrderPreference = "None";
}
plist文件最后使用mac提供的专门编辑工具(比如:Xcode)编辑,不宜使用文本编辑工具。否则会出现系统报格式不正确错误,不能加载程序。
工具编辑出来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>Description</key>
<string>FiDaemon</string>
<key>OrderPreference</key>
<string>None</string>
<key>Provides</key>
<array>
<string>FiDaemon</string>
</array>
</dict>
</plist>
有关这个plist文件中各个字段的含义以及StartupItems更详细的说明可以参考http://macdevcenter.com/pub/a/mac/2003/10/21/startup.html
关于更多mac下开机启动的设置方法可以参考http://www.projectforum.com/howto_startupitem.html
另外,自启动中执行过程中产生的相关系统信息可以在/var/log/system.log文件中查看。
万恶的Mac,一个开机启动都搞得那么复杂....