ok

Mini Shell

Direktori : /lib/fm-agent/library/
Upload File :
Current File : //lib/fm-agent/library/process_manager.py

import pwd
import os

class ProcessManager(object):

    def get_process_from_user(self, pids, username):
        """
        Return only the pids belonging to certain username.
        """
        filtered_pids = [
            pid for pid in pids if os.path.isdir('/proc/%s' % pid) \
            if self.get_owner_name('/proc/%s' % pid) == username
        ]
        return filtered_pids

    def get_owner_name(self, pid):
        """
        Return the owner name of the passed pid.
        """
        try:
            return pwd.getpwuid(os.stat(pid).st_uid)[0]
        except os.error:
            return None

    def filter_non_pid_process(self, process_list):
        """
        Filter non pid process from the list, by checking that they are
        castable to integers.
        """
        return list(filter(str.isdigit, process_list))


Zerion Mini Shell 1.0