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