Deal with deleted users before logind restart

This commit is contained in:
Sylvain Tricot 2024-04-03 22:11:37 +02:00
parent 007b0efb5d
commit 1071f4b66e
1 changed files with 13 additions and 10 deletions

View File

@ -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