Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

According to the man page for launchctl (emphasis mine):

   -w   Overrides the Disabled key and sets it to false. In previous versions, this option would modify the configuration file. Now the state of the Disabled key is stored elsewhere on-disk.

Because the current state of the disabled flag is no longer set in the .plist file itself, checking for the Disabled key is no longer an accurate way to tell if the service will run on next boot.

Where is this "elsewhere on-disk"? More to the point (and more importantly), how does one check whether this flag is set?

Also, is it possible to set a service to run on next boot without forcing it to start immediately (as with launchctl load -w /Library/LaunchDaemons/my-service.plist)?

share|improve this question
add comment

1 Answer

up vote 5 down vote accepted

Disables are now (as of 10.6.x) stored in /private/var/db/launchd.db/com.apple.launchd/overrides.plist, as entries like:

<key>com.apple.AppleFileServer</key>
<dict>
    <key>Disabled</key>
    <true/>
</dict>

You could parse this file to see which launchd items are overridden, but the file is set to root access only ("-rw------- 1 root wheel"), and there's no guarantee that Apple won't change how things are stored again in 10.7...

Also, I don't know any way to enable an existing launchd item to load on next boot without also loading it immediately. (If it's a new item, no problem: make sure it has Disabled=false in it, and drop it into /Library/LaunchDaemons.)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.