| > Launchd is solid and full-featured No, it's a train wreck of bad design, lack of backwards compatibility and sharp edges: * Tracks PIDs only, so make sure that your process doesn't double fork (as many unix daemons do by default) or it'll lose track of them. * No real documentation from Apple (man page is useless). The best resource is http://launchd.info. * No feedback to commands: launchctl doesn't give any useful output about whether a command worked or not. * Even something as simple as disabling a daemon may require manually editing one of the many `overrides.plist` XML files somewhere on the system.. though check your OS version because this changed between 10.9 and 10.10 without notice. * ...I could go on. Due to the chronic lack of documentation, many operations are totally trial and error. In fact, it is so bad that there's a market for a GUI tool (LaunchControl) which, to its credit, does manage to make launchd less painful than a trip to the dentist. The only feature it adds that sysv didn't have is socket activation, and it doesn't do anything that xinetd didn't. |