Daemons and Agents

Daemons and Agents #

In iOS, a daemon refers to a background process or service that runs on the device without direct user interaction. Daemons play a crucial role in the functioning of the operating system by handling various tasks and services. These processes typically start when the device boots up and continue running in the background to perform specific functions.

It’s important to note that while daemons are essential for the proper functioning of the iOS ecosystem, they are managed and controlled by the operating system to ensure security, stability, and optimal performance. Users typically don’t interact directly with daemons, but they contribute to the overall functionality and efficiency of the iOS platform.

Differences between Agents and Daemons #

  • Daemon : System wide services that always run in background (runs at root)
  • Agents : Basically the same thing as a daemon, but runs on behalf of the mobile user, not the root user

Each agents and Daemons have a corresponding .plist which is used by launchd to run them.

Configuration files location #

/Library/LaunchAgentsAdministrator controlled Agents for a specific user
/Library/LaunchDaemonsSystem-wide daemons provided by the administrator.
/System/Library/LaunchDaemonsDefault daemons provided by iOS.