[launchd-dev] What does the "_dirty" key mean?

Axel Luttgens axel.luttgens at skynet.be
Sat Mar 12 03:27:34 PST 2016


> Le 7 mars 2016 à 17:46, Damien Sorresso a écrit :
> 
> Hey Axel,
> 
> launchd periodically synchronizes the disabled dictionary to disk, and it will only actually do that if the "_dirty" key is set in that dictionary. Once written, the key is removed.
> -damien

Hello Damien,

Thanks for having kindly provided these details.

I gave me some additional time to observe the "phenomenon" before replying.

It seems that since I’ve noticed that "_dirty" key in the output of "launchctl print-disabled", I’m stuck with it: it persists no matter how long I wait or how often I reboot.

I guess the disk store is the /var/db/com.apple.xpc.launchd/disabled.plist file?

If yes, this is the current output of "plutil -p" applied to that file:

{
 "com.apple.mtmfs" => 0
 "com.example.myservice" => 0
 "com.apple.ftpd" => 1
 "com.apple.mrt" => 0
 "com.apple.locate" => 0
 "com.apple.rpmuxd" => 0
 "com.openssh.sshd" => 0
 "com.apple.usbmuxd" => 0
 "org.ntp.ntpd" => 0
}

while the output of "launchctl print-disabled system" currently is:

disabled services = {
	"_dirty" => true
	"com.openssh.sshd" => false
	"com.example.myservice" => false
	"com.apple.rpmuxd" => false
	"com.apple.usbmuxd" => false
	"com.apple.ftpd" => true
	"com.apple.mrt" => false
	"com.apple.mtmfs" => false
	"com.apple.backupd-auto" => false
	"com.apple.locate" => false
	"org.ntp.ntpd" => false
}

One could thus infer from the above that the dirty state stems from "com.apple.backupd-auto".

In which case this raises a subsidiary question: why would the enabled status of that backupd-auto service never be written to disk?

Sincerely,
Axel



More information about the launchd-dev mailing list