|  |  |  | @ -10,47 +10,30 @@ procs = [ | 
			
		
	
		
			
				
					|  |  |  |  |   # due to qualcomm kernel bugs SIGKILLing camerad sometimes causes page table corruption | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("camerad", "selfdrive/camerad", ["./camerad"], unkillable=True, driverview=True), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("clocksd", "selfdrive/clocksd", ["./clocksd"]), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("dmonitoringmodeld", "selfdrive/modeld", ["./dmonitoringmodeld"], enabled=(not PC or WEBCAM), driverview=True), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("logcatd", "selfdrive/logcatd", ["./logcatd"]), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("loggerd", "selfdrive/loggerd", ["./loggerd"]), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("modeld", "selfdrive/modeld", ["./modeld"]), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("proclogd", "selfdrive/proclogd", ["./proclogd"]), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("sensord", "selfdrive/sensord", ["./sensord"], enabled=not PC, persistent=EON, sigkill=EON), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("ubloxd", "selfdrive/locationd", ["./ubloxd"], enabled=(not PC or WEBCAM)), | 
			
		
	
		
			
				
					|  |  |  |  |   NativeProcess("ui", "selfdrive/ui", ["./ui"], persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("calibrationd", "selfdrive.locationd.calibrationd"), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("controlsd", "selfdrive.controls.controlsd"), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("deleter", "selfdrive.loggerd.deleter", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("dmonitoringd", "selfdrive.monitoring.dmonitoringd", enabled=(not PC or WEBCAM), driverview=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("locationd", "selfdrive.locationd.locationd"), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("logmessaged", "selfdrive.logmessaged", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("pandad", "selfdrive.pandad", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("paramsd", "selfdrive.locationd.paramsd"), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("plannerd", "selfdrive.controls.plannerd"), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("radard", "selfdrive.controls.radard"), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("rtshield", "selfdrive.rtshield", enabled=EON), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("thermald", "selfdrive.thermald.thermald", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("timezoned", "selfdrive.timezoned", enabled=TICI, persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("tombstoned", "selfdrive.tombstoned", enabled=not PC, persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("updated", "selfdrive.updated", enabled=not PC, persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   PythonProcess("uploader", "selfdrive.loggerd.uploader", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  | ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | if not PC: | 
			
		
	
		
			
				
					|  |  |  |  |   procs += [ | 
			
		
	
		
			
				
					|  |  |  |  |     NativeProcess("sensord", "selfdrive/sensord", ["./sensord"], persistent=EON, sigkill=EON), | 
			
		
	
		
			
				
					|  |  |  |  |     PythonProcess("tombstoned", "selfdrive.tombstoned", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |     PythonProcess("updated", "selfdrive.updated", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | if not PC or WEBCAM: | 
			
		
	
		
			
				
					|  |  |  |  |   procs += [ | 
			
		
	
		
			
				
					|  |  |  |  |     NativeProcess("ubloxd", "selfdrive/locationd", ["./ubloxd"]), | 
			
		
	
		
			
				
					|  |  |  |  |     PythonProcess("dmonitoringd", "selfdrive.monitoring.dmonitoringd", driverview=True), | 
			
		
	
		
			
				
					|  |  |  |  |     NativeProcess("dmonitoringmodeld", "selfdrive/modeld", ["./dmonitoringmodeld"], driverview=True), | 
			
		
	
		
			
				
					|  |  |  |  |   ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | if TICI: | 
			
		
	
		
			
				
					|  |  |  |  |   procs += [ | 
			
		
	
		
			
				
					|  |  |  |  |     PythonProcess("timezoned", "selfdrive.timezoned", persistent=True), | 
			
		
	
		
			
				
					|  |  |  |  |   ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | if EON: | 
			
		
	
		
			
				
					|  |  |  |  |   procs += [ | 
			
		
	
		
			
				
					|  |  |  |  |     PythonProcess("rtshield", "selfdrive.rtshield"), | 
			
		
	
		
			
				
					|  |  |  |  |   ] | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | managed_processes = {p.name: p for p in procs} | 
			
		
	
	
		
			
				
					|  |  |  | 
 |