Aug-25-2018, 05:35 PM
#! /usr/bin/python3 import os class ServiceReport: def __init__(self): self.services = [] self.all_services = [] self.stopped_services = [] self.running_services = [] self.srvc_cmd = "service --status-all &> /dev/null" self.set_services() self.extract_services() def set_services(self): self.services = os.popen(self.srvc_cmd) def get_all_services(self): return self.all_services def get_running_services(self): return self.running_services def get_stopped_services(self): return self.stopped_services def running_services_count(self): return len(self.running_services) def stopped_services_count(self): return len(self.stopped_services) def all_services_count(self): return len(self.all_services) def extract_services(self): for service in sorted(self.services): self.all_services.append(service[8:-1]) if "+" in service: self.running_services.append(service[8:-1]) else: self.stopped_services.append(service[8:-1]) if __name__ == "__main__": sr = ServiceReport() print("\n" + str(sr.all_services_count()) + " services are available") for x in sr.get_all_services(): print(x) print("\n" + str(sr.running_services_count()) + " services are running") for y in sr.get_running_services(): print(y) print("\n" + str(sr.stopped_services_count()) + " services are stopped") for z in sr.get_stopped_services(): print(z)