launchd resources
Where to find more information
Although launchd is a critical part of Mac OS X there’s not a lot of resources about it. Below is the list of all that I could find (and which was useful) when creating my first service.
launchd tutorial
The page which I found the most helpful when starting with launchd is called “A launchd tutorial”. Its five sections provide a straightforward guide mentioning everything which is required to properly implement a working service.
A note: it does try to sell you on the piece of software which helps with creating launchd services. Nonetheless, the information provided is complete and the program is totally optional.
man pages
The canonical source for the knowledge how launchd works and how to implement services with it.
launchd(8) is the main entry point, but to reach any practical details one needs to venture to other places. For the list of commands and day to day operations launchctl(1) is the most valuable place. As for the service description files, the launchd.plist(5) is the right source.
The source code
As with every open source software, the ultimate source of knowledge is with the source code. Fortunately, launchd’s code is up for anyone to see and study. In my limited experience, I didn’t have to reach for it, but I feel safer knowing that I can.
Wikipedia entry
Wikipedia article provides historical background which is missing from the rest of the resources on launchd. Although not strictly necessary to use a given piece of technology, knowing about the context in which it was created and any historical background can help to understand it better.
Video
There’s also rather an old video (from 2007) of a talk which the author gave for Google (imported from old Google Video site, if anyone still remembers that service).
The video doesn’t add much to the information contained in the resources above.
Nonetheless, it is an interesting watch, where one can see the author of a piece of software explain it to others.
YouTube contains more videos on the topic of launchd. I didn’t watch any of them so I can’t comment on the information contained in them.