[systemd-devel] Zombie process still exists after stopping gdm.service

Lennart Poettering lennart at poettering.net
Wed Apr 22 08:16:13 PDT 2015


On Tue, 21.04.15 13:25, Daniel Drake (drake at endlessm.com) wrote:

> There's a comment in unit_kill_context() which looks relevant here:
> 
>                         /* FIXME: For now, we will not wait for the
>                          * cgroup members to die, simply because
>                          * cgroup notification is unreliable. It
>                          * doesn't work at all in containers, and
>                          * outside of containers it can be confused
>                          * easily by leaving directories in the
>                          * cgroup. */
> 
>                         /* wait_for_exit = true; */

This is indeed the key of the issue.

As soon as we move to using the new "sane behaviour" kernel cgroup API
we can fix this properly, and wait for the children correctly. As soon
as that is not the case though we send SIGKILL immediately after the
SIGTERM...

I am a bit unwilling to document the precise behaviour, since the
current behaviour is really just a stop-gap until we ported things
over to the new kernel API and this will work as intended.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list