достаточно давно наблюдаю такую проблемку: когда я выполняю logout из сессии gnome, несколько процессов моей сессии остаются работать в системе. количество процессов может меняться, но в списке всегда есть dbus. понятно, что остаются процессы, родителем которых является init, а уничножаются при logout все, чей родитель gnome-session. например
можно ли от этого как-нить избавиться? что побуждает некоторые процессы выполнять setsid()?
наблюдается под разными дистрибутивами и версиями gnome. сейчас такое есть на старом suse (gnome 2.16) и gentoo (gnome 2.22.3). от используемого wm вроде не зависит, gnome работает по-умолчанию в системе (gdm). никаких других dm в системе нет
у gdm есть набор скриптов, которые выполняются в разные моменты времени жизни сессии. находятся в /etc/X11/gdm в каталогах с понятными именами. мной был использован скрипт PostSession/Default. этот скрипт выполняется после того, как завершился SM (gnome-session) и пользователь login завершил работу (PAM). скрипту, который выполняется с правами gdm (root в моем случае) доступно имя этого пользователя в $USER
оговорки начинаются тут: если в системе есть еще как-нить зарегистрированный пользователь $USER или демонизированные процессы, которые выполняются с правами $USER, то они, разумеется, также убиваются. в моем случае это роли не играет компьютер - мой десктоп, и ничего "демонического" под графическим account'ом не работает если он не залогинен в системе