Metainformationen zur Seite

LoxBerry::System::reboot_required

reboot_required($message);

Setzt den Status des LoxBerry, dass ein Reboot erforderlich ist. Dies kann beispielsweise an einer Änderung einer Plugin-Konfiguration getriggert werden, die einen Reboot erfordert.Die Funktion ist exportiert, kann also ohne Präfix LoxBerry::System verwendet werden.

Die Funktion löst keinen Reboot aus! Durch die Meldung wird in der Fußleiste von LoxBerry die Information "Reboot required" angezeigt. Beim Klick auf die Meldung wird das Power Widget geöffnet, und alle anstehenden reboot_required Meldungen angezeigt.

Parameter

ParameterBeschreibung
$message Die Nachricht, die im Power Widget angezeigt wird.

Wird keine $message übergeben, wird eine Standardmeldung gesetzt.

Verwendung

use LoxBerry::System;
 
reboot_required("The changes of the settings of Squeezelite Plugin require a reboot.");

Details

reboot_required erzeugt an folgendem Ort $lbstmpfslogdir/reboot.required (standardmäßig also /opt/loxberry/log/system_tmpfs/ auf der RAM-Disk) eine Datei reboot.required, die vom Webinterface per JS (ajax-footer-icons-handler.php) ausgewertet wird, und unten das Power-Symbol mit einem ! gekennzeichnet wird. Das Power-Widget zeigt alle Meldungen an, die in reboot.required stehen. Mehrere Aufrufe von reboot_required ergänzen das reboot.required File.

Die Datei liegt in der RAM-Disk, weshalb sie nach einem Reboot grundsätzlich weg sein sollte. Zur Sicherheit wird im Boot-Prozess die Datei auch gelöscht, sollte der Pfad z.B. bei einer VM doch auf einem persistierendem Datenträger liegen.

Außer der Datei reboot.required gibt es auch die Datei reboot.force (dafür gibt auch eine Funktion reboot_force("Text")). Die Existenz der Datei wird ebenfalls vom vom WebIf via Ajax ausgewertet, und löst die unmittelbare Einblendung eines Popups aus, dass LB sofort neugestartet werden soll, um Updates abzuschließen. Dies wurde insbesondere für Major-Release-Updates implementiert (erstmals beim Update LB 1.x auf LB 2.x eingesetzt).