Hallo zusammen,
ich bin neu hier und suche schon seit einiger Zeit nach der Lösung für mein kleines Problem.
Zuerst aber etwas zu meiner Hard- und Software:
Raspberry 3 B mit 2 TB USB-Platte und keiner SD Card. Der "Kleine" bootet einigermassen zuverlässig von der USB Platte und wird einmal in der Woche durch ein Script automatisch upgegraded. Als System verwendet ich Raspbian (32bit). Momentan meldet mir das System debian 10.12 als distro und als OS Version 5.10.103-v7+.
Was heißt einigermassen zuverlässig booten? Ganz einfach, es kommt hin und wieder vor, dass es den Anschein hat, dass der "Kleine" läuft, im Netzwerk geht aber garnichts mehr, heißt ich komme auch nicht per RDP mehr an ihn ran. Dann muss ich mal kurz den Stecker ziehen und ihn so neu booten lassen. Danach läuft alles wieder wie es soll.
Denn der "Kleine" war zunächst nur als DNS Serverersatz gedacht, d.h. ich verwende pihole.
Jetzt etwas zu meinem Problem:
Seit einiger Zeit beobachte ich, dass da immer wieder Prozesse scheinbar hängen bleiben. Heißt wenn ich mich per RDP mit dem "Kleinen" verbunden habe, dann finde ich da einen Prozess ssh-agent (und noch ein paar andere, u.a. applet.py) Diese bleiben auch nach einem Logout bestehen und wenn ich dann wieder einlogge (per RDP) kommt ein weiterer ssh-agent (und die anderen) dazu. Auffallen tut das Ganze, da mir der "Kleine" dreimal am Tag einen Status per Mail schickt und da dann diese Dinge zu sehen sind.
Jetzt habe ich im Internet gewühlt und bin da auf einige Dinge gestossen. Das was dabei am vielversprechensden klang war das Thema lightdm und session-cleanup-script. Hier gibt es wohl drei Stellen wo man dazu was einbauen kann. Aber leider funktioniert davon nichts wirklich (oder, was ich glaube, ich bin zu blöd dazu). Angeblich soll das Script, welches man bei diesem Eintrag hinterlegen kann (mit vollständigem Pfad) dann laufen, wenn ein User sich ausloggt. Denn ich will ja nicht bei jedem User da was mit dem ~bash.logout oder so ähnlich was anfangen sondern nur einmal was angeben und ändern müssen, falls es mal Änderungen gibt. (Anmerlkung: Mein Script kann von jedem gelesen und auch ausgeführt werden.)
Was ich feststellen konnte ist, das Script läuft wenn es zu einem Reboot kommt. Aber wenn sich ein User ausloggt, dann passiert da nichts.
Meine Frage also: Kennt jemand da eine einfache Lösung mit der man ein Script beim Logout eines Users ausführen kann ohne jedes Mal gleich einen Reboot machen zu müssen.
Ich habe momentan da folgendes Workaround: Da der "Kleine" mir dreimal am Tag einen Statusbericht per Mail schickt, lasse ich das Script dabei dann auch immer mit laufen und protokolliere das Ergebnis, falls er hängengebliebene Prozesse gefunden hat. Das klappt, aber es wäre schöner, wenn es direkt beim Logout passieren würde.
Gruss
Micha