Intro to LaunchDaemons

What is a LaunchDaemon and what can they be used for?

Scripting on macOS can take you a long way. But what happens when you have a great script that you want to run over and over without any interaction? A little research on the topic will most likely take you into the world of LaunchDaemons. But what IS a LaunchDaemon and what can they be used for? Most of the documentation out there is written for developers or people that already know what they are doing. But what about the total beginner (like me)? That's where this presentation comes in. I will go over the difference between LaunchDaemons and LaunchAgents, the launched framework that makes them work, the different locations where LaunchDaemons can be located, the structure of a LaunchDaemon XML file, permissions that a LaunchDaemon needs to run, and how to tell if a LaunchDaemon is running. I will also give a very simple tutorial on how to write a LaunchDaemon by hand and some of the tools that exist out there to simplify the process, and show some ways that you can use LaunchDaemons to automate your own workflow.