mirror of
				https://github.com/karl0ss/AnotterKiosk.git
				synced 2025-10-31 14:44:00 +00:00 
			
		
		
		
	
		
			
	
	
		
			33 lines
		
	
	
		
			841 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			841 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #!/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); | ||
|  | 		} | ||
|  | 	} | ||
|  | } |