Process hierarchy on a DC?
Jeremy Allison
jra at samba.org
Thu Apr 27 16:50:16 UTC 2017
On Thu, Apr 27, 2017 at 09:23:48AM -0700, Jeremy Allison via samba-technical wrote:
> On Thu, Apr 27, 2017 at 12:04:58PM +0200, vl--- via samba-technical wrote:
> > Hi!
> >
> > With current master 5701880655c8a82b6 I'm getting the following
> > process hierarchy (omitting the duplicate children):
> >
> > 24963 ? Ss 0:00 bin/samba
> > 24964 ? S 0:00 \_ bin/samba
> > 24969 ? S 0:00 bin/samba
> > 24971 ? Ss 0:00 \_ /root/samba/bin/smbd -D --option=server role check:inhibit=yes --foreground
> > 24991 ? S 0:00 \_ /root/samba/bin/smbd -D --option=server role check:inhibit=yes --foreground
> > 24979 ? S 0:00 bin/samba
> > 24981 ? Ss 0:00 \_ /root/samba/bin/winbindd -D --option=server role check:inhibit=yes --foreground
> > 24990 ? S 0:00 \_ /root/samba/bin/winbindd -D --option=server role check:inhibit=yes --foreground
> >
> > I think I remember that in the past this was all located under one
> > "samba" process, now the winbind and smbd parents are themselves
> > children of init. I could stop the DC with a single kill, now it's
> > three.
> >
> > Just curious: Why was this changed?
>
> It's the tfork code. I'd bet good money on it :-).
>
> samba_runcmd_send() which is used to invoke winbindd
> calls tfork() directly.
>
> This is a side effect I missed in my review of
> the tfork code, but in my defense both Ralph
> and Metze who were the authors missed it too :-).
>
> Ralph, Metze, ball is in your court I think :-).
FYI, this:
lib/util: make use of tfork in samba_runcmd_send()
292e46ab12d8ec172c9d3b26330d8d6028a1d5a5
is the commit you're looking for :-).
More information about the samba-technical
mailing list