X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbuildd%2Ffiles%2Fbuildd-schroot-aptitude-kill;h=c7bc36a3a47ae2603ec48bf2e4e9be08041eb770;hb=74228f95e562156c74e302c33d5c2692c0c31564;hp=c701a93df69e3abcb811156160c8aa243ea4a13c;hpb=70864a6d7152c850f67d519212a2305a32648681;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/files/buildd-schroot-aptitude-kill b/modules/buildd/files/buildd-schroot-aptitude-kill index c701a93df..c7bc36a3a 100755 --- a/modules/buildd/files/buildd-schroot-aptitude-kill +++ b/modules/buildd/files/buildd-schroot-aptitude-kill @@ -25,6 +25,7 @@ import os import errno +import sys try: import psutil except OSError, e: @@ -33,25 +34,29 @@ except OSError, e: if e.errno == errno.ENOENT: sys.exit(0) -total_mem = psutil.phymem_usage().total +total_mem = psutil.virtual_memory().total cutoff_time = 60*10 for p in psutil.process_iter(): try: - if p.name != 'aptitude': continue - parent = p.parent + if p.name() != 'aptitude': continue + parent = p.parent() if parent is None: continue - if parent.name != 'schroot': continue + if parent.name() != 'schroot': continue # - rootdir = os.readlink('/proc/%d/root'%(p.pid,)) + try: + rootdir = os.readlink('/proc/%d/root'%(p.pid,)) + except OSError as e: + if e.errno == errno.ENOENT: + continue + else: + raise e if not rootdir.startswith('/var/lib/schroot/mount'): continue # used = p.get_memory_info().vms - if used < total_mem: continue - # cputime = p.get_cpu_times().user - if cputime < cutoff_time: continue + if used < total_mem and cputime < cutoff_time: continue # p.kill() - except psutil.error.NoSuchProcess: + except psutil.NoSuchProcess: pass