<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Mar 22, 2015, at 10:49 AM, Craig Treleaven <<a href="mailto:ctreleaven@cogeco.ca" class="">ctreleaven@cogeco.ca</a>> wrote:<div class=""><br class=""></div><div class=""><blockquote type="cite" class="">I have yet to find good, basic documentation of launchctl/launchd. It is one of those things where you have to understand how it works before you can understand the documentation of how to work it!</blockquote><br class=""></div><div class="">Apple has pretty good documentation. The man pages for launchd, launchd.plist, and launchctl are a start, there’s more at:</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span><a href="https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html" class="">https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html</a></div><div class=""><br class=""></div><div class="">and also Dave Zarzycki, the author, gave a Google talk that you can find at <a href="https://www.youtube.com/watch?v=cD_s6Fjdri8" class="">https://www.youtube.com/watch?v=cD_s6Fjdri8</a>. I went through all those when launchd first appeared with Tiger which was a while ago so some of my recollections may be hazy but…</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><blockquote type="cite" class="">so if the file is in /Library/LaunchDaemons it's definitely going to do something at load and also on each boot.</blockquote>Sorry, no. Those keys are there, but one HAS to use launchctl to load a job definition; launchd only starts jobs that launchctl has told it to.</blockquote></div><div class="">…</div><div class=""><blockquote type="cite" class="">The plist files always sit in '/Library/LaunchDaemons/' but don't do anything until the 'launchctl load ...' command.</blockquote></div><div class=""><br class=""></div><div class="">This is incorrect. I just created a script to touch some files in /tmp, a launchd config in /Library/LaunchDaemons to start it, didn’t run launchctl, rebooted, and sure enough it ran. That matches what it says in the Apple document I link above under "The launchd Startup Process”, in the launchd.info site you mention under "Automatic Loading of Job Definitions”, and also my personal experience. The launchd.info site does describe an override database which I wasn’t aware of so good find.</div><div class=""><br class=""></div><div class="">- George</div><div class=""><br class=""></div></body></html>