System SchedulersProprietaryC

Launchd

The native macOS scheduler that replaces cron

What is Launchd?

Launchd is Apple's system and service management daemon for macOS. It serves as the init system, service manager, and task scheduler all in one. For scheduling, launchd uses XML property list (plist) files placed in specific directories to define when and how jobs should run. It supports calendar-based intervals, watch paths that trigger when files change, and keep-alive rules that restart crashed processes.

While cron still works on macOS, Apple officially recommends launchd for all scheduled tasks. Launch agents run in the user's session while launch daemons run at system level. Launchd handles missed jobs that were scheduled while the system was asleep, provides basic stdout/stderr logging, and integrates with macOS power management to coalesce timers for battery efficiency.

Best For

  • macOS-native scheduled tasks on developer workstations
  • Tasks that should trigger when specific files or directories change
  • Long-running background services that need automatic restart on crash
  • Scheduling on macOS where Apple recommends launchd over cron

Limitations

  • Only available on macOS — not cross-platform
  • XML plist configuration files are verbose and error-prone to edit manually
  • No built-in web dashboard or remote management
  • Limited community tooling compared to cron or systemd timers

Launchd vs CronJobPro

Launchd is the right choice for Mac-specific local tasks, but it cannot schedule HTTP requests to remote endpoints or provide cross-platform scheduling. CronJobPro works from any browser, triggers any URL endpoint regardless of the target operating system, and includes monitoring and alerting features that launchd does not offer.

Official Website

https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html

Frequently Asked Questions

What is Launchd?

Launchd is Apple's system and service management daemon for macOS. It serves as the init system, service manager, and task scheduler all in one. For scheduling, launchd uses XML property list (plist) files placed in specific directories to define when and how jobs should run. It supports calendar-based intervals, watch paths that trigger when files change, and keep-alive rules that restart crashed processes.

What is Launchd best for?

macOS-native scheduled tasks on developer workstations. Tasks that should trigger when specific files or directories change. Long-running background services that need automatic restart on crash. Scheduling on macOS where Apple recommends launchd over cron.

How does Launchd compare to an external cron service?

Launchd is the right choice for Mac-specific local tasks, but it cannot schedule HTTP requests to remote endpoints or provide cross-platform scheduling. CronJobPro works from any browser, triggers any URL endpoint regardless of the target operating system, and includes monitoring and alerting features that launchd does not offer.

Related Alternatives

Try CronJobPro for Free

Schedule HTTP requests with monitoring, retries, and alerts — no infrastructure needed.

Get started free →