4.OrderPreference;
指定执行StartupItems的时间顺序。这个顺序的重要程度排在Uses之后,是指定执行完Uses之后的顺序。可能的取值包括:First, Early, None(default), Late, Last。
5.Messages。
2.1.2 创建一个StartupParameters.plist文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.easck.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Description</key>
<string>Iceberg Control Tower Initilaization</string>
<key>Provides</key>
<array>
<string>Iceberg Control Tower</string>
</array>
<key>Uses</key>
<array>
<string>Disks</string>
</array>
<key>OrderPreference</key>
<string>None</string>
</dict>
</plist>
2.2 The Executable File
注意:
可执行文件的名称和它所在的文件夹的文件名是一样的,这是系统默认的规则。 操作可执行文件需要获得root权限。 可执行文件是一个shell脚本。打开IcebergControlTower文件目录下同名的可执行文件,可以看到脚本的具体内容:

一般的可执行文件包含这样几个方面的内容:
1)./etc/rc.common
Apple提供的一个脚本库,该脚本库里包含了为可执行文件引进参数的接口。在这里load这个库主要是调用RunService。
2)StartService(), StopService(), RestartService()
当可执行文件接收到的参数为start,stop或者restart时,执行相对应的函数。
参数含义:
start:开机过程中开启服务;
stop:关机过程中停止服务;
restart:在特定条件下重启服务。
3)RunService “$1”
执行传递给该脚本的第一个参数指定的服务。
“$1” 表示传给该脚本的第一个参数。例如,传入的参数为start,则执行StartService()。
3. Launchd Daemon
launchd是Mac OS下用于初始化系统环境的关键进程,它是内核装载成功之后在OS环境下启动的第一个进程。
采用这种方式来配置自启动项很简单,只需要一个plist文件,通常(同时也是系统推荐)是将plist放在~/Library/LaunchAgents路径下。
3.1 plist文件格式及每个字段的含义:










