~ahasenack/landscape-client/landscape-client-1.5.5-0ubuntu0.9.04.0

« back to all changes in this revision

Viewing changes to landscape/sysinfo/processes.py

  • Committer: Bazaar Package Importer
  • Author(s): Rick Clark
  • Date: 2008-09-08 16:35:57 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080908163557-l3ixzj5dxz37wnw2
Tags: 1.0.18-0ubuntu1
New upstream release 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from twisted.internet.defer import succeed
 
2
 
 
3
from landscape.lib.process import ProcessInformation
 
4
 
 
5
 
 
6
class Processes(object):
 
7
 
 
8
    def __init__(self, proc_dir="/proc"):
 
9
        self._proc_dir = proc_dir
 
10
 
 
11
    def register(self, sysinfo):
 
12
        self._sysinfo = sysinfo
 
13
 
 
14
    def run(self):
 
15
        num_processes = 0
 
16
        num_zombies = 0
 
17
        info = ProcessInformation(proc_dir=self._proc_dir)
 
18
        for process_info in info.get_all_process_info():
 
19
            num_processes += 1
 
20
            if process_info["state"] == "Z":
 
21
                num_zombies += 1
 
22
        if num_zombies:
 
23
            if num_zombies == 1:
 
24
                msg = "There is 1 zombie process."
 
25
            else:
 
26
                msg = "There are %d zombie processes." % (num_zombies,)
 
27
            self._sysinfo.add_note(msg)
 
28
        self._sysinfo.add_header("Processes", str(num_processes))
 
29
        return succeed(None)