launchd を使ったスクリプトの管理
macOS では launchd
プロセスを使用してデーモンとエージェントを管理するため、このプロセスを使ってシェルスクリプトを実行することができます。launchd
とは直接対話しません。代わりに launchctl
ツールを使用して、launchd
デーモンおよびエージェントを読み込んだり読み込み解除したりします。
launchd
は、システムの起動時に、コンピュータをセットアップするためにカーネルによって実行される最初のプロセスです。シェルスクリプトをデーモンとして実行されるようにしたい場合は、launchd
でそのシェルスクリプトを起動してください。デーモンやエージェントを起動するためのその他のメカニズムは、Apple の判断で削除対象になります。
launchd
で管理されているさまざまなデーモンとエージェントを理解するには、以下の構成ファイルを参照してください:
フォルダ | 使用法 |
---|---|
/System/Library/LaunchDaemons/ | Apple が提供するシステムデーモン |
/System/Library/LaunchAgents/ | Apple が提供するエージェント。すべてのユーザに対してユーザごとに適用されます |
/Library/LaunchDaemons/ | 他社製のシステムデーモン |
/Library/LaunchAgents/ | 他社製のエージェント。すべてのユーザに対してユーザごとに適用されます |
~/Library/LaunchAgents/ | 他社製のエージェント。ログイン中のユーザにのみ適用されます |
launchd
について詳しくは、launchd
および launchctl
のマニュアルページ(man で表示)を参照してください。また、macOS Developer Library の「Technical Note TN2083: Daemons and Agents」も参照してください。