-hints for stream lib development
[oweals/gnunet.git] / contrib / gnunet_janitor.py.in
index c23cc28588fcaf39733ded062be3b38c747ea353..c11ff4f122c9924d27b6516e2807fa159ed7c60f 100644 (file)
 #    Boston, MA 02111-1307, USA.
 #
 # Finds any gnunet processes still running in the system and kills them
+#
+# gnunet janitor can be used by invoking `make' like this:
+# TESTS_ENVIRONMENT='${top_srcdir}/contrib/gnunet_janitor.py &&' make check
+
 from __future__ import print_function
 import os
 import re
@@ -40,7 +44,7 @@ def get_process_list ():
   else:
     pids = [pid for pid in os.listdir('/proc') if pid.isdigit ()]
     for pid in pids:
-      result.append ((pid, open (os.path.join ('/proc', pid, 'comm'), 'rb').read ()
+      result.append ((pid, open (os.path.join ('/proc', pid, 'comm'), 'rb').read ()))
   return result
 
 def main ():
@@ -51,12 +55,20 @@ def main ():
       gnunet_procs.append (p)
   for p in gnunet_procs:
     if re.match (r'gnunet-service-arm', p[1]):
-      print ("killing arm {0:5} {1}".format (p[0], p[1]))
-      os.kill (p[0], signal.SIGTERM)
+      print ("killing arm process {0:5} {1}".format (p[0], p[1]))
+      try:
+        os.kill (p[0], signal.SIGTERM)
+      except OSError as e:
+        print ("failed: {0}".format (e))
+        pass
   for p in gnunet_procs:
     if not re.match (r'gnunet-service-arm', p[1]):
-      print ("killing arm {0:5} {1}".format (p[0], p[1]))
-      os.kill (p[0], signal.SIGTERM)
+      print ("killing non-arm process {0:5} {1}".format (p[0], p[1]))
+      try:
+        os.kill (p[0], signal.SIGTERM)
+      except OSError as e:
+        print ("failed: {0}".format (e))
+        pass
 
 if __name__ == '__main__':
-  sys.exit (main ())
\ No newline at end of file
+  sys.exit (main ())