Non-graphical software.
WHAT COMMAND LINE TOOLS ARE
Executables run from a terminal, without an interface.
WHERE THEY ARE INSTALLED
Locations on the search path, typically under a library at the root.
WHAT SIGNING THEY REQUIRE
The same as applications, if distributed.
WHAT NOTARISATION APPLIES TO
Any distributed software, including command line tools.
WHAT A LAUNCH DAEMON IS
A process running system-wide, managed by the system launch mechanism.
WHAT A LAUNCH AGENT IS
The same, within a user session.
WHAT TO DECLARE
What to run, when, and whether to keep it running.
WHAT TO AVOID
Old startup mechanisms Processes that restart in a loop when failing
WHY THAT SECOND POINT
A failing process restarting continuously consumes resources and fills logs.
WHAT TO IMPLEMENT
Backoff, and logging.
WHAT AN XPC SERVICE PROVIDES
A separate process, communicating with your application.
WHAT IT SUITS
Isolating risky work, and privileged operations.
WHY ISOLATE
A crash or compromise is contained.
WHAT PRIVILEGED HELPERS REQUIRE
Careful implementation, since they run with elevated rights.
WHAT TO VALIDATE
Everything received, since the caller may not be who you expect.