diff options
| author | Clark Williams <williams@redhat.com> | 2009-10-13 11:39:23 -0500 |
|---|---|---|
| committer | Clark Williams <williams@redhat.com> | 2009-10-13 11:39:23 -0500 |
| commit | dbda4bec63bbf11ac9f9dba2e655670ebd0ec845 (patch) | |
| tree | bf4bc59714dad4266fb0b6e382a80b3e11894887 | |
| parent | 315e79ec5d4f2a5cf7a3a99b0cdda7023976cac8 (diff) | |
added get_services() and get_kthread() methods to rteval/rteval.py
Add methods to retrieve status of services and priorities of kthreads
| -rw-r--r-- | rteval/rteval.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/rteval/rteval.py b/rteval/rteval.py index 38c5de4..5495faf 100644 --- a/rteval/rteval.py +++ b/rteval/rteval.py @@ -117,6 +117,8 @@ class RtEval(object): self.numcores = self.get_num_cores() self.memsize = self.get_memory_size() self.get_clocksources() + self.get_services() + self.get_kthreads() self.xml = '' self.xmlreport = xmlout.XMLOut('rteval', self.version) @@ -161,6 +163,25 @@ class RtEval(object): f.close() + def get_services(self): + rejects = ('firstboot', 'functions', 'halt', 'iptables', 'ip6tables', + 'killall', 'lm_sensors', 'network', 'rtctl') + services = filter(lambda x: x not in rejects, os.listdir('/etc/rc.d/init.d')) + self.services = {} + for s in services: + c = subprocess.Popen(['/sbin/service', s, 'status'], stdout=subprocess.PIPE) + status = c.stdout.read().strip() + self.services[s] = status + + + def get_kthreads(self): + c = subprocess.Popen(['/sbin/service', 'rtctl', 'status'], stdout=subprocess.PIPE) + self.kthreads = {} + for p in c.stdout: + (pid, pol, prio, name) = p.split() + self.kthreads[pid] = {'policy' : pol, 'priority' : prio, 'name' : name } + + def parse_options(self): '''parse the command line arguments''' parser = optparse.OptionParser() @@ -280,6 +301,11 @@ class RtEval(object): self.xmlreport.taggedvalue('memory_size', self.memsize) self.xmlreport.closeblock() + self.xmlreport.openblock('services') + for s in self.services: + self.xmlreport.taggedvalue(s, self.services[s]) + self.xmlreport.closeblock() + # Retrieve configured IP addresses self.xmlreport.openblock('network_config') |
