[Bug 1871726] Re: "systemd --user" and child processes fail to exit when user logs out
Daniel Richard G.
skunk at iskunk.org
Fri Apr 10 22:52:48 UTC 2020
Could you try this using lightdm? It's possible that this may be a
display-manager issue.
I did notice that in a different (customized) configuration of Xubuntu,
the user processes still remained after logout, but then killing the
"systemd --user" process resulted in the login session ending.
Anyway, here is the output you requested, in the original test
environment:
# LC_ALL=C loginctl user-status skunk | cat
skunk (1000)
Since: Fri 2020-04-10 18:40:19 EDT; 3min 11s ago
State: closing
Sessions: *c2
Linger: no
Unit: user-1000.slice
|-session-c2.scope
| |-1288 /usr/libexec/geoclue-2.0/demos/agent
| `-1345 /usr/bin/python3 /usr/share/system-config-printer/applet.py
`-user at 1000.service
|-at-spi-dbus-bus.service
| |-1131 /usr/libexec/at-spi-bus-launcher
| `-1136 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
|-dbus.service
| |-1042 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
| |-1140 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
| |-1291 /usr/lib/x86_64-linux-gnu/tumbler-1/tumblerd
| |-1302 /usr/libexec/dconf-service
| |-1391 /usr/libexec/goa-daemon
| `-1404 /usr/libexec/goa-identity-service
|-evolution-addressbook-factory.service
| `-1438 /usr/libexec/evolution-addressbook-factory
|-evolution-calendar-factory.service
| `-1396 /usr/libexec/evolution-calendar-factory
|-evolution-source-registry.service
| `-1374 /usr/libexec/evolution-source-registry
|-gvfs-afc-volume-monitor.service
| `-1501 /usr/libexec/gvfs-afc-volume-monitor
|-gvfs-daemon.service
| |-1153 /usr/libexec/gvfsd
| |-1158 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
| `-1509 /usr/libexec/gvfsd-trash --spawner :1.13 /org/gtk/gvfs/exec_spaw/0
|-gvfs-goa-volume-monitor.service
| `-1497 /usr/libexec/gvfs-goa-volume-monitor
|-gvfs-gphoto2-volume-monitor.service
| `-1493 /usr/libexec/gvfs-gphoto2-volume-monitor
|-gvfs-metadata.service
| `-1515 /usr/libexec/gvfsd-metadata
|-gvfs-mtp-volume-monitor.service
| `-1489 /usr/libexec/gvfs-mtp-volume-monitor
|-gvfs-udisks2-volume-monitor.service
| `-1484 /usr/libexec/gvfs-udisks2-volume-monitor
|-init.scope
| |-1017 /lib/systemd/systemd --user
| `-1018 (sd-pam)
`-obex.service
`-1464 /usr/lib/bluetooth/obexd
Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopped Indicator Application Service.
Apr 10 18:41:21 test-ubuntu64 systemd[1017]: indicator-keyboard.service: Succeeded.
Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopped Indicator Keyboard Backend.
Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopping Indicator Session Service...
Apr 10 18:41:21 test-ubuntu64 systemd[1017]: indicator-session.service: Succeeded.
Apr 10 18:41:21 test-ubuntu64 systemd[1017]: Stopped Indicator Session Service.
Apr 10 18:41:22 test-ubuntu64 indicator-sound[1250]: g_object_ref: assertion 'old_val > 0' failed
Apr 10 18:41:22 test-ubuntu64 systemd[1017]: pulseaudio.service: Succeeded.
Apr 10 18:41:22 test-ubuntu64 systemd[1017]: indicator-sound.service: Succeeded.
Apr 10 18:41:22 test-ubuntu64 systemd[1017]: Stopped Indicator Sound Service.
----------------
If I kill the "systemd --user" process, the output slims down to this:
# LC_ALL=C loginctl user-status skunk | cat
skunk (1000)
Since: Fri 2020-04-10 18:40:19 EDT; 5min ago
State: closing
Sessions: *c2
Linger: no
Unit: user-1000.slice
`-session-c2.scope
`-1288 /usr/libexec/geoclue-2.0/demos/agent
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: pk-debconf-helper.socket: Succeeded.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Closed debconf communication socket.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: pulseaudio.socket: Succeeded.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Closed Sound System.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: snapd.session-agent.socket: Succeeded.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Closed REST API socket for snapd user session agent.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Reached target Shutdown.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: systemd-exit.service: Succeeded.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Finished Exit the Session.
Apr 10 18:45:14 test-ubuntu64 systemd[1017]: Reached target Exit the Session.
----------------
I have reported the issue with geoclue-2.0 as LP#1871728.
If I SIGHUP that process, then the user session finally goes away. (My
customized environment does not have geoclue-2.0 installed, so that
might explain the difference.)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1871726
Title:
"systemd --user" and child processes fail to exit when user logs out
Status in systemd package in Ubuntu:
New
Bug description:
This concerns systemd 245.2-1ubuntu2 in Ubuntu focal.
I am using the Xfce desktop. After the user logs out from a desktop
session, numerous desktop-related processes are left over. Here is a
listing, taken over twenty minutes after logout:
skunk 853 0.0 0.2 18912 10300 ? Ss 17:55 0:00 /lib/systemd/systemd --user
skunk 854 0.0 0.0 103304 3496 ? S 17:55 0:00 (sd-pam)
skunk 881 0.0 0.1 8076 5324 ? Ss 17:55 0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
skunk 970 0.0 0.1 305364 6776 ? Ssl 17:55 0:00 /usr/libexec/at-spi-bus-launcher
skunk 975 0.0 0.1 7352 4452 ? S 17:55 0:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
skunk 979 0.0 0.1 230196 5900 ? Sl 17:55 0:00 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
skunk 992 0.0 0.1 239704 7676 ? Ssl 17:55 0:00 /usr/libexec/gvfsd
skunk 997 0.0 0.1 378332 6444 ? Sl 17:55 0:00 /usr/libexec/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
skunk 1133 0.0 0.1 156116 5596 ? Sl 17:56 0:00 /usr/libexec/dconf-service
skunk 1139 0.0 0.1 236884 4828 ? Sl 17:56 0:00 /usr/libexec/geoclue-2.0/demos/agent
skunk 1186 0.0 0.8 59324 34792 ? S 17:56 0:00 /usr/bin/python3 /usr/share/system-config-printer/applet.py
skunk 1201 0.0 0.6 391676 25688 ? Ssl 17:56 0:00 /usr/libexec/evolution-source-registry
skunk 1224 0.0 0.8 616644 35492 ? Sl 17:56 0:00 /usr/libexec/goa-daemon
skunk 1235 0.0 0.7 708928 30512 ? Ssl 17:56 0:00 /usr/libexec/evolution-calendar-factory
skunk 1243 0.0 0.2 314744 8980 ? Sl 17:56 0:00 /usr/libexec/goa-identity-service
skunk 1271 0.0 0.7 681460 29344 ? Ssl 17:56 0:00 /usr/libexec/evolution-addressbook-factory
skunk 1302 0.0 0.1 43968 6432 ? Ss 17:56 0:00 /usr/lib/bluetooth/obexd
skunk 1322 0.0 0.2 313872 9076 ? Ssl 17:56 0:00 /usr/libexec/gvfs-udisks2-volume-monitor
skunk 1327 0.0 0.1 235684 6468 ? Ssl 17:56 0:00 /usr/libexec/gvfs-mtp-volume-monitor
skunk 1331 0.0 0.1 237956 6876 ? Ssl 17:56 0:00 /usr/libexec/gvfs-gphoto2-volume-monitor
skunk 1335 0.0 0.1 235864 5760 ? Ssl 17:56 0:00 /usr/libexec/gvfs-goa-volume-monitor
skunk 1339 0.0 0.2 316716 8800 ? Ssl 17:56 0:00 /usr/libexec/gvfs-afc-volume-monitor
skunk 1347 0.0 0.1 313684 7836 ? Sl 17:56 0:00 /usr/libexec/gvfsd-trash --spawner :1.13 /org/gtk/gvfs/exec_spaw/0
skunk 1353 0.0 0.1 162128 6028 ? Ssl 17:56 0:00 /usr/libexec/gvfsd-metadata
When a user logs out of the system, all processes associated with the login session should be terminated (barring the use of nohup(1) or the like).
If I sent a SIGINT to the "systemd --user" process above (PID 853),
then all the processes promptly go away. This needs to occur on
logout.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1871726/+subscriptions
More information about the foundations-bugs
mailing list