[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: