キーワード 値の型 説明
Debug YESまたはNO YESの場合、syslogdに対してLOG_DEBUG相当の細かいログが送付される
Disabled YESまたはNO サービスを有効にするかどうか。YESにすると、設定を壊さずサービスを無効にできる
EnvironmentVariables ディクショナリ サービス起動時にセットする環境変数をディクショナリの形式で指定
GroupName 文字列 サービスの実行グループを指定。Daemonの場合のみ有効
HardResourceLimits ディクショナリ サービスのソフトリミットおよびハードリミットを設定。値はディクショナリで、以下のサブキーを含む
SoftResourceLimits ディクショナリ
サブキー
Core 数値 サービスがクラッシュした時に生成されるcoreファイルのバイト数を数値で指定
CPU 数値 サービスの1プロセス当たりに使用できるCPU時間の上限を秒数で指定
Data 数値 サービスの1プロセス当たりに使用できるメモリ上のデータセグメントサイズをバイト数で指定
FileSize 数値 サービスが作成できるファイルサイズ上限をバイト数で指定
MemoryLock 数値 mlocck(2)でロックできるメモリサイズ上限をバイト数で指定
NumberOfFiles 数値 サービスが1プロセス当たりでオープンできるファイル数の上限を指定
NumberOfProcesses 数値 サービスの属するユーザIDで起動できるプロセス数の上限を指定
ResidentSetSize 数値 サービスが、1プロセス当たりで占有できる実メモリサイズの上限をバイト数で指定
Stack 数値 スタックサイズを指定。Machではスタックは自動伸張されないので、このサイズを超えるとSegmentation Faultとなる
inetdCompatibility ディクショナリ inetd、xinetdと互換をとるための機能を設定。値はディクショナリで以下のサブキーを持つ。この項目自体が1つの設定になっており、この設定が存在する場合サービスは直接起動されずluanchproxyを介して起動される
サブキー
Wait YESまたはNO xinetdにあるwait項目の設定。YESの場合、1つサービスを起動するとその後のポートの監視などは起動したサービスに任せる(launchdはそのポートの監視を行わなくなる)。NOの場合サービスの起動後も監視を行い、ポートへの接続がある度にサービスを起動する
InitGroups YESまたはNO サービス起動時にinitgroup(3)を実行するか否か。YESの場合、指定ユーザの所属する全グループのアクセス権がサービスプロセスに付加される
Label 文字列 サービスを識別するラベルを定義。一意である以外にラベルの命名に制約はない。Javaなどでもよく使われるドメイン名を逆順にドットでつなぐ方式が用いられる
LowPriorityIO YESまたはNO YESの場合、サービスの行うファイルへのIO処理の優先順位を低く見積もる。バックエンドのサービスのIO処理でGUIアプリケーションの処理が待たされ、体感速度を落とすことを防ぐための処置となっている
Nice 数値 この値がある場合、サービスの起動時にnice値として設定
OnDemand YESまたはNO YESの場合、launchdがポートや時刻などを監視し、イベントが発生するとサービスを起動する。NOの場合launchdと同時にサービスを起動しておく
Program 文字列 起動するサービスのargv[0]に相当するプログラム名を指定。無指定の場合、ProgramArgumentsの最初の値を使用
ProgramArguments 配列 起動するサービスのパスおよび引数を指定
QueueDirectories 配列 配列で指定されたパスの先がディレクトリで、内容が空でない場合および編集された(ディレクトリにファイルが追加された)場合にサービスが起動
RootDirectory 文字列 サービスが用いるルートディレクトリのパスを指定。この値が指定されると、サービスは起動時にchroot(2)をかけられる。Daemonの場合のみ有効
RunAtLoad YESまたはNO 設定がlaunchdにロードされたときに、イベントの発生の有無などに関係なく1度起動するかどうか指定
ServiceDescription 文字列 サービスに関する説明を記述
ServiceIPC YESまたはNO launch(3)のAPI準拠のIPCを行うか否か
Sockets 特殊 値として含まれるディクショナリ、またはディクショナリの配列で指定されたソケットに接続がきた場合、サービスを起動
サブキー
Bonjour 特殊 Bonjourによるサービス告知の指定。 YESの場合はSockServiceNameで指定されたサービスに関して告知する。 この項目が存在しない、またはNOの場合は告知しない。文字列、または文字列を集めた配列を値に指定した場合は、その文字列で示されるサービスをすべて告知
MulticastGroup 文字列 SockTypeがdgramの際、どのマルチキャストグループに所属するか指定
SockType 文字列 ソケットのタイプ。デフォルトはstreamで、dgramやseqpacketなども指定可能
SockPassive YESまたはNO 待ち受けを行うポートか、相手へ接続を行うポートかを指定。デフォルトはYES。これをわざわざ指定することはまずない
SockNodeName 文字列 connect(2)またはbind(2)で用いられるノード名(TCP/IPの場合ホスト名など)を指定
SockServiceName 文字列 connect(2)ないしはbind(2)で用いられるサービス名(TCP/IPの場合/etc/servicesで示されるサービス名など)を指定
SockFamily 文字列 通常のTCP/IPの場合はIPv4、IPv6を使う場合はIPv6を指定
SockProtocol 文字列 socket(2)に渡されるソケットのプロトコル名を指定(現在TCPしか認識しない)
SockPathName 文字列 "SockFamilyに""Unix""を指定した場合、Unixドメインソケットで用いるパスを指定"
StandardErrorPath 文字列 値となる文字列で指定されたパスにあるファイルを開き、サービスの標準エラー出力として利用
StandardOutPath 文字列 値となる文字列で指定されるパスの先のファイルを開き、サービスの標準出力として利用する
StartCalendarInterval ディクショナリ 値で指定されたディクショナリの時間にサービスが起動する。ディクショナリには以下のサブキーのどれか、または全てが含まれる。含まれないサブキーはワイルドカードが指定されたとみなされる
サブキー
Minute 数値 「分」を指定
Hour 数値 「時」を指定
Day 数値 「日」を指定(数値)
Weekday 数値 「曜日」で指定(数値。0および7が日曜日)
Month 数値 「月」を指定
StartInterval 数値 値で指定された秒数ごとにサービスが起動
TimeOut 数値 サービス呼び出し後起動するまでのタイムアウトを指定
Umask 数値 サービス起動時にセットするumaskの値を指定
UserName 文字列 サービスの実行ユーザを指定。Daemonの場合のみ有効
WatchPaths 配列 配列で指定されたパスに存在するファイルを監視する。これらが編集された時にサービスが起動
WorkingDirectory 文字列 カレントディレクトリを指定