mirror of
https://github.com/karl0ss/AnotterKiosk.git
synced 2025-04-28 10:33:41 +01:00
33 lines
841 B
PHP
33 lines
841 B
PHP
#!/usr/bin/env php
|
|
<?php
|
|
// Wait 60 seconds (after boot) before doing any watchdog actions.
|
|
sleep(60);
|
|
|
|
$config = parse_ini_file("/boot/kioskbrowser.ini", true, INI_SCANNER_NORMAL);
|
|
|
|
if (isset($config["watchdog"]) && isset($config["watchdog"]["enabled"]))
|
|
{
|
|
if (trim($config["watchdog"]["enabled"]) == 1)
|
|
{
|
|
while (true)
|
|
{
|
|
clearstatcache();
|
|
$last_heartbeat = filemtime("/dev/shm/heartbeat");
|
|
|
|
if ((time() - $last_heartbeat) > $config["watchdog"]["timeout"])
|
|
{
|
|
error_log("Exceeded timeout! Restarting lightdm.");
|
|
exec("systemctl restart lightdm");
|
|
// Cooldown delay (give the system time to reinitialize)
|
|
sleep(60);
|
|
}
|
|
if ((time() - $last_heartbeat) > $config["watchdog"]["timeout_reboot"])
|
|
{
|
|
error_log("Exceeded timeout_reboot! Rebooting system.");
|
|
exec("reboot");
|
|
}
|
|
|
|
sleep(5);
|
|
}
|
|
}
|
|
} |