Zeitpunkt des Bootens anzeigen

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Ich wollte gerade wissen, wann ich heute morgen aufgestanden bin. ^^ Da ich den Rechner immer kurz nach dem Wachwerden einschalte, bin ich einfach nach der Ausgabe von `uptime` gegangen. Weil dies aber totaaaal viel Rechnerei ist, habe ich mir jetzt ein Skript geschrieben, welches nicht die Stunden und Minuten anzeigt, seit denen der Rechner läuft, sondern stattdessen die Uhrzeit des Einschaltens. Vielleicht braucht das ja sonst noch jemand... :)

Code: Alles auswählen

from datetime import datetime
import time

UPTIME_FILE = '/proc/uptime'

def get_elapsed_seconds():
    """
    Return elapsed seconds since the kernel was started as a float.
    """
    with open(UPTIME_FILE) as upf:
        uptime, idle = upf.read().split()
    return float(uptime)

def get_start_time():
    """
    Return a ``datetime``-struct, representing the time, when the 
    kernel was started.
    """
    elapsed = get_elapsed_seconds()
    now = time.time()
    start_time = now - elapsed
    return datetime.fromtimestamp(start_time)

def main():
    print 'Kernel started at {0}'.format(get_start_time().ctime())

if __name__ == '__main__':
    main()
lunar

@snafu: "ls -ld /sys" hätte Dir das auch so verraten.
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Japp, oder man nimmt als Referenz einfach eine bestimmte Logdatei. Da gibt es sicherlich diverse Möglichkeiten. Die Umrechnung über `/proc/uptime` ist da eigentlich noch relativ umständlich gewählt. Das ist aber auch mehr eine kleine Sache aus Spass an der Freude gewesen. ;)
Antworten