]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/buildd/files/buildd-schroot-aptitude-kill
sudo: replace debbits by publicity
[dsa-puppet.git] / modules / buildd / files / buildd-schroot-aptitude-kill
index c701a93df69e3abcb811156160c8aa243ea4a13c..fa7374642317a8f32bc59f9f57be7d5039cb87af 100755 (executable)
@@ -25,6 +25,7 @@
 
 import os
 import errno
+import sys
 try:
        import psutil
 except OSError, e:
@@ -38,20 +39,24 @@ 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