Script beim Abmelden beenden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
poncho
Beiträge: 106
Registriert: 23.12.2007 19:22:35

Script beim Abmelden beenden

Beitrag von poncho » 03.01.2014 11:11:11

Hallo Leute,

ich lasse per Eintrag in /etc/xdg/autostart/ ein Script beim Anmelden des Nutzers im Hintergrund laufen (mit Endlosschleife). Beim Abmelden wird das Script aber nicht beendet, sondern läuft weiter. Wie kann ich dafür sorgen, dass sich das Script beim Abmelden beendet?

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: Script beim Abmelden beenden

Beitrag von Simmel » 03.01.2014 13:27:26

poncho hat geschrieben:Hallo Leute,

ich lasse per Eintrag in /etc/xdg/autostart/ ein Script beim Anmelden des Nutzers im Hintergrund laufen (mit Endlosschleife). Beim Abmelden wird das Script aber nicht beendet, sondern läuft weiter. Wie kann ich dafür sorgen, dass sich das Script beim Abmelden beendet?

Nur so eine Idee, ob das klappt weiss ich nicht, habe es nicht getestet.

Pack in deine Script-Schleife doch einfach eine if-Bedingung rein.

Sowas wie

Code: Alles auswählen

if [ "$(who | grep tty7 | awk '{print $1}')" != "DEINEN-USER-NAMEN" ]; then 
exit 0
fi
Damit überprüft er ob ein vorgegebener User das tty7 nutzt und soweit ich weiss nutzt man das nur wenn man in der grafischen Oberfläche ist, könnte mich auch irren, aber versuchs doch einfach mal.
Ansonsten vll. das man sich die jeweils laufende Session-ID von KDE,GDM etc. des Users ausliest und prüft ob der Prozess noch lebt (mit diesem User) oder nicht, dürfte auch gehen.

Viel Spass beim testen :D ,
s1mmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

poncho
Beiträge: 106
Registriert: 23.12.2007 19:22:35

Re: Script beim Abmelden beenden

Beitrag von poncho » 03.01.2014 15:06:11

Oh, gute Idee. Ich probiers mal aus.
Habs jetzt erst mal auf die dumme Weise gemacht :)

Code: Alles auswählen

kill $(ps haux|grep idlechecker|grep -v grep|awk -F " " '{print $2}')

Antworten