Aug-25-2018, 05:35 PM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
#! /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) |