who zeigt falsche Infos nach SSH-Verbindungsverlust
Hallo zusammen
Im Zusammenhang mit einpaar Login/Logout scripts die ich geschrieben
habe, bin ich darauf gestossen:
Wenn eine SSH-Session unterbrochen wird (z.B. unschöner Disconnect),
scheinen weder die bash-logout scripts ausgeführt zu werden, noch
repräsentiert `who` die richtigen Informationen:
Fall: Heute früh hatte ich 2 Sitzungen offen zum Entwicklungssystem,
dann "riss die Verbindung ab" (Notebook ging in Standby)
Aktuelles Resultat:
dev:~# who
root pts/0 Mar 21 10:29 (home)
root pts/1 Mar 21 01:46 (home)
root pts/2 Mar 20 12:31 (home)
Zu sehen oben: ein pts/2 blieb hängen von gestern Mittag .. und das
pts/1 von heute Früh.
Natürlich zeigt pstree nur noch die eine offene Shell.
Wie kann ich who in einen "integeren Zustand" bringen?
Welche Quelle ist ggf verlässlicher?
Aufgeräumt wird z.B. wenn ich jetzt 3mal einlogge und wieder regulär
auslogge.
Ziel:
Verwenden von who mit grep und wc -l um das letzte Logout abzufangen und
die keychain zu clearen:
== START ~/.bash_logout:
me=`logname`
count=`who | grep "^${me}\b" | wc -l`
if [ $count = 1 ]; then
keychain -q --clear
else
echo "KEYCHAIN REMAINING PERSISTENT DUE TO LOGINS: $count"
sleep 1
fi
== END
Oder würdet ihr das ganz anders machen?
Danke für Ideen & Inputs!
--Miro
Reply to: