[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

More loitering process curiosities



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.  

-- 
Mike

:wq




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]