4 ms·
How does Apple’s launchd [0] compare? It’s open source, but perhaps not yet ported to Linux-based operating systems. —— [0]: https://en.m.wikipedia.org/wiki/L
by wsc981 7y ago
How does Apple’s launchd [0] compare? It’s open source, but perhaps not yet ported to Linux-based operating systems.
——
[0]: https://en.m.wikipedia.org/wiki/Launchd https://en.m.wikipedia.org/wiki/Launchd
- sjwright 7y agoLaunchd is arguably the inspiration for systemd and other modern alternatives. Therefore it's very similar in scope and principle. But many parts of how it works, most notably the configuration file format, are distinctly Apple-isms (or more precisely NeXT-isms) so it probably wouldn't feel "native" to the Linux ecosystem without some substantial retooling of the code.
- chungy 7y ago> many parts of how it works, most notably the configuration file format, are distinctly Apple-isms (or more precisely NeXT-isms) Basically every type of systemd configuration files are just INI files, which I seem to remember originating in MS-DOS...
- TazeTSchnitzel 7y agoWell, it's also very dependent on running on Darwin.
- saagarjha 7y agoApparently it's been ported to some extent to run on FreeBSD: https://wiki.freebsd.org/launchd https://wiki.freebsd.org/launchd. I'd expect this job gets harder and harder with each passing year, as the last time Apple released source code for launchd was alongside OS X Mavericks.
- sjwright 7y agoI'm not sure about systemd, but launchd uses a rather verbose yet generic xml schema that is used throughout macOS, iOS etc.
- saagarjha 7y agoIt's not even XML, it's a Property List, which can also be represented as JSON or a special binary format: https://en.wikipedia.org/wiki/Property_list https://en.wikipedia.org/wiki/Property_list
- sirn 7y agoFreeBSD has been attempting to port launchd since 2005 or so[1]. PC-BSD/TrueOS used to have launchd branch but I think they eventually committed to using OpenRC instead. AFAIK launchd require Mach IPC support in-kernel and require XML parser running in PID 1 so it didn't see much support because of complexity and amount of work it introduces. [1]: https://wiki.freebsd.org/launchd https://wiki.freebsd.org/launchd
- lemoncucumber 7y agoUbuntu actually considered adopting launchd way back in 2006 before systemd existed but: “The option was rejected because the source code was subject to the Apple Public Source License – described as an ‘inescapable licence problem’” [0] [0]: https://en.wikipedia.org/wiki/Launchd https://en.wikipedia.org/wiki/Launchd