-
Notifications
You must be signed in to change notification settings - Fork 15
Concepts
NOTE Please read the terminology section of the Wiki first, to understand the meaning of the specific terms used below.
Relaunchd is a job scheduler.
Relaunchd schedules jobs to run on a single computer. Each job is defined in a dedicated manifest. Manifests describe the program to be executed, along with resource dependencies and environment settings. When the job is ready to be started, Relaunchd configures the execution environment, and resolves resource dependencies.
Relaunchd can run alongside an existing service manager, such as rc(8) or systemd. It also implements its own service manager, which could someday be used to replace the native service manager of your favorite operating system.
Unlike the original launchd project, Relaunchd is not a system manager; it does not replace PID #1 or manage the early part of the boot process.
Elements of a job:
+-----------------------------+
| |
| launchadm(8) |
| Service Manager |
| |
| |
+--------------+--------------+
|
|
|
|
+--------------v--------------+
| |
| launchd(8) |
| Job Scheduler |
| |
| |
+-----------------------------+
+-------------+ +-------------+ +-------------+ +-------------+ +-------------+
| | | | | | | | | |
| Load +-----> Acquire +-----> Launch +---> Release +---> Unload |
| | | Resources | | | | Resources | | |
+-------------+ +------+------+ +------+------+ +-------------+ +-------------+
^ |
| |
| restart the job | monitor the job
| |
| +------v------+
| | |
+------------+ Supervise |
| |
+-------------+
The above diagrams were created with ASCIIFlow Infinity.