diff --git a/lsusers.py b/lsusers.py index 9d5e0dd..39281b4 100755 --- a/lsusers.py +++ b/lsusers.py @@ -36,16 +36,19 @@ def get_users_list(): def get_resources_percent(username=None): - if username is None: - user_opt = ['-e'] - else: - user_opt = ['-u', username] - cmd = Popen(['ps', '-o', 'pcpu', '--no-headers'] + user_opt, stdin=PIPE, stdout=PIPE, stderr=STDOUT) - output = list(map(float, cmd.stdout.read().decode('utf8').split())) - cpu_percent = sum(output) / NCPUS - cmd = Popen(['ps', '-o', 'pmem', '--no-headers'] + user_opt, stdin=PIPE, stdout=PIPE, stderr=STDOUT) - output = map(float, cmd.stdout.read().decode('utf8').split()) - mem_percent = sum(output) + try: + if username is None: + user_opt = ['-e'] + else: + user_opt = ['-u', username] + cmd = Popen(['ps', '-o', 'pcpu', '--no-headers'] + user_opt, stdin=PIPE, stdout=PIPE, stderr=STDOUT) + output = list(map(float, cmd.stdout.read().decode('utf8').split())) + cpu_percent = sum(output) / NCPUS + cmd = Popen(['ps', '-o', 'pmem', '--no-headers'] + user_opt, stdin=PIPE, stdout=PIPE, stderr=STDOUT) + output = map(float, cmd.stdout.read().decode('utf8').split()) + mem_percent = sum(output) + except: + cpu_percent = mem_percent = 0 return cpu_percent, mem_percent