Gute Frage. Ich habe versucht, was mir jetzt klar ist, dass Sie versucht haben müssen, ein Herunterfahren zu planen und die System-Timer abzufragen!
Das hat gezeigt, dass das Herunterfahren nicht in den System-Timern war, wie Sie bemerkt haben. Eine schnelle Durchsicht der systemctl-Quelle gibt uns diesen Aufruf als Teil von halt_main()
:
r = sd_bus_call_method(
b,
"org.freedesktop.login1",
"/org/freedesktop/login1",
"org.freedesktop.login1.Manager",
"ScheduleShutdown",
&error,
NULL,
"st",
arg_action == ACTION_HALT ? "halt" :
arg_action == ACTION_POWEROFF ? "poweroff" :
arg_action == ACTION_KEXEC ? "kexec" :
"reboot",
arg_when);
( systemctl.c Zeile 7387 )
Es scheint also, dass Abschaltungen von behandelt werden logind
. Sie können die Details weiter verfolgen, wenn Sie möchten login-dbus.c
. Dort gibt es Methoden zum Planen, Abbrechen und Verwalten von Abschaltungen. Für ein tieferes Verständnis müssen Sie möglicherweise mehr über logind / systemd wissen als ich.
Kurz gesagt, die Informationen zum Herunterfahren werden (zumindest) in einer Zeitplandatei gespeichert /run/systemd/shutdown/scheduled
. Der Inhalt von mir als Beispiel war:
USEC=1435715559055789
WARN_WALL=1
MODE=poweroff
Anzeige der Zeit (vermutlich in Mikrosekunden); ob über wall
und in welchem Modus gewarnt werden soll (vgl. Neustart, Kexec usw.).
Hoffe das weist dich zumindest in die richtige Richtung!