StartupItemに関するメモ

参照した文献の場所

http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Tasks/CreatingStartupItems.html

StartupItemを置く場所

/System/Library/StartupItems/

システムで使用するStartupItem用ディレクトリとして確保されている。

/Library/StartupItems/

システム以外のStartupItemを置くディレクトリである。
このディレクトリは 必要な時に自分で作成する。

StartupItemの作成

実行ファイルはコマンドライン用実行ファイルかシェルスクリプトを手段とすることができる。

1 StartupItem用にディレクトリを作成する

ディレクトリ名とStartupItem名は同じでなければならない。
例:HiRestructureComitteeOpening

2 実行ファイルをディレクトリに入れる

実行ファイル名とディレクトリ名は同じでなければならない。
例: HiRestructureComitteeOpening/HiRestructureComitteeOpening

3 プロパティリストを作成し、ディレクトリに入れる。

プロパティリストの名前はStartupParameters.plistとする。
例:HiRestructureComitteeOpening/StartupParameters.plist

4 インストーラを作成する。

インストーラは /Library/StartupItemsディレクトリ(なければ自分で作る)にStartupItemを配置する。

実行ファイルの作成

シェルスクリプトによる実行ファイル

 

プロパティリスト

プロパティリストの作成

プロパティリストはプロパティリストエディタで作成することができる。

プロパティリストの詳細

Key Type Value
Description String 管理ツールで使用される、StartupItemに関する短い説明。 HiRestructureComittee Startup
Provides Array StartupItemが提供するサービス。複数指定することができるが、一つに制限しなければならない。 0 String HiRestructureComitteeOpening
Requires Array StartupItemが起動する前に起動されている必要のある他の必須StartupItem。ここで指定されたStartupItemが起動されていない場合、このStartupItemは起動されない。  
Uses Array StartupItemが起動する前に起動されている必要のある他の必須でないStartupItem。ここで指定されたStartupItemが起動されていない場合でも、このStartupItemは起動される。  
OrderPreference String このStartupItemと同じような起動順序のStartupItemがあった場合の順序付け方法を指定する。First, Early, None, Late,Lastが指定でき、デフォルトはNone。OrderPreferenceは助言であり、無視することもできる。 None
Messages Dictionary

start String Opening HiRestructureComittee

stop String Closing HiRestructureComittee

RequiresとUsesプロパティはそれらのStartupItemのディレクトリ名と同じでなければならない。