Skip to content

Munki's LaunchDaemons and LaunchAgents

Greg Neagle edited this page Feb 25, 2015 · 5 revisions

Munki installs as part of its standard installation package (found at https://github.com/munki/munki/releases) four LaunchDaemons into /Library/LaunchDaemons, and three LaunchAgents into /Library/LaunchAgents.

This document will describe these seven launchd objects and what they do as part of Munki.

LaunchDaemons

/Library/LaunchDaemons/com.googlecode.munki.logouthelper.plist

This LaunchDaemon is invoked by managedsoftwareupdate when a force_install_after_date is due within four hours. This tool runs in the background once a minute, sleeping between runs. At the currently hardcoded intervals in minutes before the required logout: [240, 180, 120, 60, 90, 45, 30, 15, 5, 2], it notifies the user via Managed Software Center.app of an impending forced logout.

/Library/LaunchDaemons/com.googlecode.munki.managedsoftwareupdate-check.plist

This is the standard munki check-in daemon. It runs once per hour by default at a random interval. Unloading this daemon will prevent munki from running on a regular basis. You can still run munki manually with the automated check disabled.

/Library/LaunchDaemons/com.googlecode.munki.managedsoftwareupdate-install.plist

Invoked by Managed Software Center most often, this triggers the equivalent of:

managedsoftwareupdate --installwithnologout

It runs /usr/local/munki/managedsoftwareupdate to install available updates without logging the user out.

/Library/LaunchDaemons/com.googlecode.munki.managedsoftwareupdate-manualcheck.plist

Invoked by Managed Software Center most often, this is triggered when a manual check is requested by the user.

LaunchAgents

/Library/LaunchAgents/com.googlecode.munki.ManagedSoftwareCenter.plist

Launches the Managed Software Center. Triggered by com.googlecode.munki.managedsoftwareupdate-check.plist, which is in turn triggered when a background/automatic Munki run needs to notify the user of available updates.

/Library/LaunchAgents/com.googlecode.munki.MunkiStatus.plist

Loads at the login window, and launches the MunkiStatus.app binary to provide update status information while at the loginwindow.

/Library/LaunchAgents/com.googlecode.munki.managedsoftwareupdate-loginwindow.plist

Causes /usr/local/munki/managedsoftwareupdate to run to install software at the loginwindow. As noted by the LimitLoadToSessionType key in the LaunchAgent, this is meant for running at the login window.