More loitering process curiosities
W. Michael Petullo
mike at flyn.org
Sat Nov 1 00:33:41 UTC 2003
> We've made some progress getting gconfd-2 to exit when a user logs out
> (see "gconfd-2 does not exit when a user log out, breaks unmounting
> home" thread). Now I am interested in turning my attention to some
> other processes that seem to loiter around after one logs out of a GNOME
> 2.4.0 session.
>
> Pam_mount performs an lsof that claims the processes are still running
> when pam_close_session is called, but the processes are gone after the
> user is completely logged out (Unlike gconfd-2, which stayed running
> for two minutes).
>
> The following processes hang around (with $HOME as their CWD):
>
> bonobo-activation-server
> gnome-settings-daemon
> xscreensaver
> mapping-daemon
>
> While investigating these four processes, I have gotten myself very
> confused.
>
> First, on my system, pstree says:
>
> init-+-aio/0
> |-atd
> ...
> |-bonobo-activati
> ...
> |-gdm-binary---gdm-binary-+-X
> | `-gnome-session---ssh-agent
> |-gnome-panel
> |-gnome-settings-daemon
> ...
>
> Why is init the parent process of /usr/libexec stuff like
> bonobo-activation-server? How does that happen?
>
> Why does gnome-panel not have gnome-session as its parent?
>
> At first I thought that things like login and gdm sent HUP signals to
> children when a user logs out. I had forgotten that it was in fact the
> shell that performs this magic. So my idea of ensuring that gdm kill
> -HUP'd all of a user's programs before calling pam_close_session was
> faulty.
>
> The processes do seem to get killed (but after pam_close_session code)
> but I'm not sure by what means. Could someone shed some light on this
> or nudge me in the right direction for some documentation?
>
> I'd really like to fix pam_mount/gdm/GNOME.
Okay, I just realized that having the X server stopped will cause X
applications like xscreensaver to exit (duh). Gdm kills X when a user
logs out and I think I can ensure this happens before pam_close_session
is called.
But I'm still curious about this process hierarchy. Why do processes
like bonobo-activation-server and gnome-panel seem to execute with init
as their parent?
--
Mike
:wq
More information about the fedora-devel-list
mailing list