You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					28 lines
				
				656 B
			
		
		
			
		
	
	
					28 lines
				
				656 B
			| 
								 
											4 years ago
										 
									 | 
							
								#!/usr/bin/env python3
							 | 
						||
| 
								 | 
							
								import os
							 | 
						||
| 
								 | 
							
								import time
							 | 
						||
| 
								 | 
							
								import datetime
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from common.params import Params
							 | 
						||
| 
								 | 
							
								from selfdrive.hardware.eon.hardware import getprop
							 | 
						||
| 
								 | 
							
								from selfdrive.swaglog import cloudlog
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def main():
							 | 
						||
| 
								 | 
							
								  params = Params()
							 | 
						||
| 
								 | 
							
								  while True:
							 | 
						||
| 
								 | 
							
								    # 0 for shutdown, 1 for reboot
							 | 
						||
| 
								 | 
							
								    prop = getprop("sys.shutdown.requested")
							 | 
						||
| 
								 | 
							
								    if prop is not None and len(prop) > 0:
							 | 
						||
| 
								 | 
							
								      os.system("pkill -9 loggerd")
							 | 
						||
| 
								 | 
							
								      params.put("LastSystemShutdown", f"'{prop}' {datetime.datetime.now()}")
							 | 
						||
| 
								 | 
							
								      print("shutdown detected", repr(prop))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      time.sleep(120)
							 | 
						||
| 
								 | 
							
								      cloudlog.error('shutdown false positive')
							 | 
						||
| 
								 | 
							
								      break
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    time.sleep(0.1)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if __name__ == "__main__":
							 | 
						||
| 
								 | 
							
								  main()
							 |