Home

LibraryLaunchDaemons

Library/LaunchDaemons refers to the directory in macOS and other Darwin-based systems that stores property list files used by launchd to configure system-wide background services. Each plist in this directory defines a daemon, which is a background process that can start at system boot or on demand and typically runs with elevated privileges as root.

A plist in this directory describes how the daemon should be started and managed. Common keys include

There is a clear distinction between LaunchDaemons and LaunchAgents. Daemons in /Library/LaunchDaemons run as root and

Security considerations are important, as improperly configured or malicious plist files can grant elevated privileges or

Label
(a
unique
name),
ProgramArguments
or
Program
(the
executable
and
its
arguments),
RunAtLoad
(start
when
the
plist
is
loaded),
and
KeepAlive
(whether
the
process
should
be
kept
running
or
respawned
after
exit).
Other
keys
such
as
StartInterval,
UserName,
StandardOutPath,
and
StandardErrorPath
control
scheduling,
execution
context,
and
logging.
When
launchd
processes
these
plists
at
startup,
the
defined
daemons
become
active
background
services.
do
not
require
a
user
session,
making
them
suitable
for
system-wide
services.
Launch
Agents,
in
contrast,
run
per
user
and
reside
in
user-specific
or
/Library/LaunchAgents
directories.
The
files
in
/Library/LaunchDaemons
must
be
owned
by
root:wheel
and
typically
have
secure
permissions
to
prevent
unauthorized
modifications.
persistence.
Administrators
manage
these
daemons
with
tools
such
as
launchctl
to
load,
unload,
start,
or
stop
them.
Custom
daemons
placed
here
are
commonly
used
for
background
maintenance
tasks
or
long-running
services
required
by
the
system
or
applications.