>>> 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
>> 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?
> When doing a fork/exec, GLib programs usually use the g_spawn_
family of
> functions; these fork twice, creating an intermediate child process that
> immediately exits and is reaped by the parent. The purpose is to avoid
> zombies, as usually in a GUI context parent/child doesn't mean much.
> (e.g. say Evolution launches your web browser there's no point really
> having the browser be a child of evolution)
Thanks to all who explained. There is also a mail thread from 2000
on
gnome-devel-list titled "Process Tree."
I updated the gconfd-2-killing gnome-session patch I have submitted
to
GNOME's bugzilla to use execvp/waitpid instead of gnome_execute_async.
Is there a more GNOME/glib-happy way to wait for a forked process?
I also send the following very simple patch to the gdm folks. It
fixes my
problem with X programs hanging around when pam_close_session is called,
but I'm not sure if it would break anything else. Here it is:
[...]
These problems still exist in Fedora Core 2 Test 1.
Though gconfd-2 seems to have been resolved, the following processes
still have problems quiting when a user logs out:
bonobo-activation-server keeps $HOME open as its CWD (libbonobo-2.5.3-1)
gnome-vfs-daemon keeps $HOME open as its CWD (gnome-vfs2-2.5.7-1)
mapping-daemon keeps $HOME open as its CWD (nautilus-cd-burner-0.6.5-1)
gnome-settings-daemon?
All of these processes make unmounting $HOME on logout difficult.
See also:
http://bugzilla.gnome.org/show_bug.cgi?id=97361
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=67605
--
Mike
:wq