relaunchd: a portable clone of launchd

Mark Heily mark at heily.com
Mon Nov 16 01:27:52 UTC 2015


On Sun, Nov 15, 2015 at 8:17 PM, Joe Maloney <jmaloney at pcbsd.org> wrote:
> Awesome.  Thank you! I will definitely be trying this out.  One question.  Are there any plans to convert this work over from json to UCL which FreeBSD uses for things like pkg?  It is my understanding that UCL can parse json anyway, and is the preferred format for FreeBSD from what I can tell?
>

Yes, I do plan to migrate from JSON to UCL, and there's an open ticket
in GitHub about it:

    https://github.com/mheily/relaunchd/issues/1

However, in terms of priority, it's not at the top of my list. Before
rewriting the parser to use UCL, I'd like to finish implementing the
missing functionality documented in the README:

* unloading jobs via launchctl
* cron functionality - StartInterval, StartCalendarInterval
* file and directory watches - WatchPaths, QueueDirectories
* restarting jobs if they crash - TimeOut, ExitTimeout,
KeepAliveTimeout, ThrottleInterval
* resource limits - SoftResourceLimits, HardResourceLimits
* miscellaneous - LaunchOnlyOnce, inetdCompatibility, EnableGlobbing,
RunAtLoad, Umask

If anyone wants to help implement these missing pieces, or if you
enjoy rewriting parsers and want to play around with UCL, let me know.

> Joe Maloney
>
>> On Nov 15, 2015, at 6:55 PM, Mark Heily <mark at heily.com> wrote:
>>
>> I've written a clone of the launchd framework found in Mac OS X [1].
>> It's called "relaunchd" and I would like to some help improving it and
>> getting it added to the FreeBSD ports tree [2].
>>
>> Here's the source code:
>>
>>    https://github.com/mheily/relaunchd
>>
>> One of the coolest things I've been able to do with it is to use
>> socket activation to launch an unmodified version of Apache inside of
>> a jail, pass it a socket descriptor bound to port 80 from the primary
>> network interface outside of the jail, and have it "just work" and
>> start serving web content using the pre-existing socket descriptor.
>> This eliminates the need to setup a cumbersome NAT and port forwarding
>> mechanism for each jail [3].
>>
>> This is a completely separate line of development from the work that
>> the NextBSD folks are doing to port the published Apple source code
>> for launchd and all of it's dependencies.
>>
>> I'd be happy to answer questions about relaunchd, and welcome
>> contributions from anyone who wants to help make launchd on FreeBSD a
>> reality.
>>
>> Regards,
>>
>> - Mark
>>
>> [1] https://en.wikipedia.org/wiki/Launchd
>> [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204240
>> [3] Example: http://kbeezie.com/freebsd-jail-single-ip/
>> _______________________________________________
>> freebsd-hackers at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>


More information about the freebsd-hackers mailing list