Eu tenho problema de logout no meu servidor (e todos os servidores derivados do debian) não matam todos os processos do usuário.
Eu pareço entender que isso é feito por razões de eficiência para estações de trabalho (suposição parece ser o mesmo usuário fará logon logo depois).
Como exemplo, em uma conta muito restrita, recebo:
mcon@cinderella:~$ pgrep --list-full -U gamer
3001599 /lib/systemd/systemd --user
3001600 (sd-pam)
3001615 /usr/bin/pipewire
3001616 /usr/bin/pipewire-media-session
3001624 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
3001706 /usr/libexec/gvfsd
3001711 /usr/libexec/gvfsd-fuse /run/user/1002/gvfs -f
3001839 /usr/libexec/dconf-service
3001841 /usr/libexec/gvfs-udisks2-volume-monitor
3001852 /usr/libexec/gvfs-gphoto2-volume-monitor
3001860 /usr/libexec/gvfs-goa-volume-monitor
3001888 /usr/libexec/goa-daemon
3001906 /usr/libexec/goa-identity-service
3001908 /usr/libexec/gvfs-mtp-volume-monitor
3001915 /usr/libexec/gvfs-afc-volume-monitor
3002093 /usr/libexec/evolution-source-registry
3002108 /usr/libexec/gvfsd-trash --spawner :1.9 /org/gtk/gvfs/exec_spaw/0
3002112 /usr/libexec/xdg-desktop-portal
3002120 /usr/libexec/xdg-document-portal
3002124 /usr/libexec/xdg-permission-store
3002132 fusermount3 -o rw,nosuid,nodev,fsname=portal,auto_unmount,subtype=portal -- /run/user/1002/doc
3002150 /usr/libexec/evolution-calendar-factory
3002162 /usr/libexec/gvfsd-metadata
3002176 /usr/libexec/evolution-addressbook-factory
3002227 /usr/libexec/bluetooth/obexd
3002924 /usr/bin/python3 /usr/share/system-config-printer/applet.py
3827100 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets
Isso foi feito (muitas) horas que o usuário gamer
fez logoff e depois que outros usuários (inclusive eu) usaram o sistema.
Eu vi esta pergunta, mas isso não se aplica ao meu caso: não quero impedir que os usuários iniciem explicitamente processos de longa duração via nohup
ou screen
, mas simplesmente mate todas as tarefas "inúteis" do sistema.
Eu tentei configurar [Login]
-> KillUserProcesses=yes
in, /etc/systemd/logind.conf
mas aparentemente nada mudou.
Observe que todos esses processos permanecem ativos para cada usuário que já fez login (desde a última reinicialização, é claro).
Como me livrar de todos esses processos? É realmente necessário executar algum cron
script para matá-los? Em caso afirmativo: como separo os processos em segundo plano "explicitamente desejados" do lixo do sistema?
PS: Eu sei que a política do StackExchange é "um ponto de interrogação por OP", mas esses são realmente vários aspectos da mesma pergunta.
Reinicie ou
sudo systemctl daemon-reexec
. daemon-reload apenas recarrega as unidades, portanto, não funcionará.