Mac OS X 10.4 Tiger introduced a new program called launchd.

FreeBSD machines can have uptimes anywhere between months and years, and that makes it all the more critical when they go down (for maintenance of course). To where every second of downtime can be lost business, or lost time for a development team that uses a centralized server. By porting launchd(8) to FreeBSD 6-CURRENT, boot up times and job management can both be handled more effectively, and improve some aspects of the operating system itself.

This has the possibility, if merged into the source tree, of improving overall boot times for all FreeBSD users, from those desktop users, to firewalls, to critical servers. It also benefits the system, with it's simplicity, launchd(8) replaces: init, rc, the init.d and rc.d scripts, SystemStarter (Mac OS X specific), inetd and xinetd, atd, crond, and watchdog, into one centralized daemon.


2005 GSoC Project Details


2005 - End of Summer Synopsis

As it stands right now, the code is still somewhat, well, very, unpolished. I'll take the blame on that one. I still intend on writing a plist format (the non-XML one) parser to incorporate into the code base, which will give users full advantage of everything launchd(8) can do, while maintaining backwards compatibilty with launchd/MacOS. Work also is about 40% done on the init(8) replacement part of launchd(8), but since the FreeBSD organization isn't as anal retentive about daemon count as Apple Inc. apparently was, it's not _as_ necessary (but I still intend to port it over soon enough, the orig. launchd(8) incorporates a lot of mach_init oddness) In all honesty, I don't think launchd(8) will be anything to brag about until, maybe this winter, but the hardest part is definitely behind me, wrapping my little 19 year old brain around this code was quite a feat, but I think I have a good feel for how everything works, and why. (MANY thanks to zarzycki@apple in this regard, he held my hand through a lot of the tougher parts ;))

As mentioned in the "Updates" section, this has changed from APSL to Apache Version 2 license.


  1.!forum/openlaunchd (1)

  2. (2)

  3. (3)

  4. (4)

launchd (last edited 2021-04-02T08:18:49+0000 by SashaVigole)