Process reapers

Alfred Perlstein alfred at freebsd.org
Mon Dec 1 21:29:33 UTC 2014


On 12/1/14 10:52 AM, Konstantin Belousov wrote:
> Please find at https://www.kib.kiev.ua/kib/reaper.6.patch
> the patch which adds a way for the process to declare itself a reaper
> for the subtree of processes forked after the event.  In other words,
> after the process is marked as reaper, all orphaned children somewhere
> in subtree after the reaper, are reparented to the process instead of
> init(8).
>
> The API is based on the following DragonFlyBSD commit
> http://gitweb.dragonflybsd.org/dragonfly.git/commit/fc3bc2868ad212f3b412ad13f0eaa35b3f8d458d
> Linux has somewhat similar prctl(PR_SET_CHILD_SUBREAPER).
> Solaris is most advanced in the area, the feature which provides
> the same function is contracts(4), which is very advanced and
> IMO over-designed interface.
>
> I did not wrote the man page, the API is still in flux.  It should
> be relatively clean how to use the thing by the descriptive names
> and comments in header file.  One of the test programs illustrating
> the interface is available at https://www.kib.kiev.ua/kib/reaper2.c .
> See http://leaf.dragonflybsd.org/cgi/web-man?command=procctl&section=2
> for the description of DragonFly interface.
>
> The feature was requested by bapt, jilles already provided useful
> feedback that was incorporated into the patch.
>
> Please review and comment.
>
Yes!  Very, very cool!

-Alfred


More information about the freebsd-arch mailing list