Reliable process tracking

Edward Tomasz Napierała trasz at FreeBSD.org
Mon Aug 5 11:54:25 UTC 2013


Wiadomość napisana przez Edward Tomasz Napierała <trasz at FreeBSD.org> w dniu 5 sie 2013, o godz. 13:13:

> Wiadomość napisana przez Jilles Tjoelker <jilles at stack.nl> w dniu 4 sie 2013, o godz. 15:46:
>> When shutting down a service or requesting status, rc.subr currently
>> uses a combination of pidfiles and process names. This is fairly but not
>> completely reliable once it is set up correctly (which can take a lot of
>> work and possibly patching the daemon to use pidfile(3) from our
>> libutil). It is also incapable of killing multiprocess daemons such as
>> CGI web servers without cooperation of the daemon.
>> 
>> I think what is needed here is a facility that marks a process and all
>> of its descendants. Removing the mark should be a privileged or at least
>> an unusual operation; no unprivileged function specified by POSIX such
>> as setsid() should do this.
> 
> I've actually thought about that when I added setloginclass(2).  It's trivial
> to modify rc.subr to use su(8) to set login class for each service.  It should
> be trivial to modify pkill(1) and killall(1) to add "-c" option to kill all processes
> in a given login class

And here is the patch: http://people.freebsd.org/~trasz/pkill-c.diff



More information about the freebsd-arch mailing list