Open Launchd
github.com
github.com
This one in particular is the openlaunchd port first started by R. Tyler back in 2005 when he was a GSoC student, but was abandoned and restarted 8 years later in 2013, announced here: http://unethicalblogger.com/2013/12/03/scratchiest-neckbeard...
[...] FreeBSD unlocks some hacking that I've wanted to
do, such as:
Restarting my work with launchd on top of FreeBSD as a
viable alternative to rc.d (aside: systemd which many
Linux hackers are familiar with can be considered a
poor impersonation of launchd, which is, in my opinion,
a pretty stellar job management daemon)
That said, I don't think openlaunchd is entirely dead yet. I think a launchd port to FreeBSD is inevitable, whether it's this, launchd_xml or some other one (I'm fairly certain there's some non-public ports), but as a whole it's been a protracted ordeal.I would love to see this on BSD though.
Not really an apple user, can anyone tell me what the benefit to porting this is? Is it much better than rc.d or sysvinit?
It eschews shell scripts in favor of non-turing complete launch configs, manages process lifetimes in addition to just starting them and does bootup in parallel using pre-created sockets for synchronization.
It is quite barebones compared to systemd, but fundamentally it uses similar approaches to fulfill the same goals.
> 20140910: Outback Dingo has made available an older port of pfSense's launchd_xml.
tl;dr even if you could convince the FreeBSD devs that launchd is a great idea they wouldn't accept this as-is.
IMO the ASL is going to be required to get FreeBSD to adopt openlaunchd at some point
A test suite for this code would have made this whole effort far easier :(
The best way to make cron / at / sysvinit / syslog / daemonize / xinetd / supervisord fans happy is to let them keep using cron / at / sysvinit / syslog / daemonize / xinetd / supervisord.