[linux-l] Weltzeituhr

Frank Reker frank at reker.net
So Nov 5 02:58:56 CET 2006


Am Sun 05. Nov 2006 01:22 +0000 schrieb Frank Reker:

>aber wie mir soeben bewusst wurde, geht das nicht auf laptops, bzw. 
>rechnern die in suspend geschaltet werden. :-(
>linux speichert naemlich nicht die start-zeit des prozesses, sondern nur
>die uptime, und die bleibt stehen, wenn der rechner im suspend-modus ist.
>damit erhaelst du eine falsche start zeit des prozesses und obiger test
>schlaegt fehl.

aber man kann herausfinden wie lange der rechner seit dem anlegen des
pid files im suspend-mode war, und diese zeit zur uptime des prozesses
hinzuaddieren und so die wirkliche start_zeit ermitteln.
der trick besteht darin, dass linux (auch andere unixe) den letzten
boot-vorgang in die wtmp-log-datei schreibt. actuelle zeit minus 
last-boot-time - uptime = zeit die der rechner seit dem booten im
suspend-modus verbracht hat. die zeit stimmt nicht 100%, da die wtmp
erst einige sekunden nach dem boot geschrieben wird. aber diese
ungenauigkeit subtrahiert sich spaeter wieder raus.
beim anlegen des pid-files kann man so die suspend-zeit berechnen
und mit im pid-file speichern. das kill-script berechnet dann
ebenfalls die suspend-zeit und subtrahiert davon die im pid-file
gespeicherte suspend-zeit. das ist die suspend-zeit seit dem anlegen
des pid-files.
ein weiterer vorteil dieser methode ist, dass dadurch auch ein 
veraendern der urzeit mit set anstatt adjust egal ist, denn diese
veraenderung wirkt sich auf die so ermittelte suspend-zeit genauso
aus, wie auf das alter des pid-files.


-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20061105/6a3a47b5/attachment.sig>


Mehr Informationen über die Mailingliste linux-l