Salome HOME
Correct the misprints in the README files. See https://codev-tuleap.cea.fr/plugins...
[tools/sat.git] / test / _testTools / tools.py
index daf88a7204239aeb3ed6925a1167a82c5e7d25bc..2930b99601f8fb1bfe8a044c80bde19328808ac1 100644 (file)
@@ -19,6 +19,7 @@
 import tempfile
 import sys
 import subprocess
+import time
 
 class outRedirection():
     '''redirection of standart output
@@ -47,8 +48,30 @@ class outRedirection():
         except Exception as exc:
             print('Problem with redirection : %s' % exc)
             sys.exit(1)
-            
-def check_proc_existence(cmd, text_to_find):
-    
-    p = subprocess.Popen(cmd, shell=True)
-    p.communicate()
\ No newline at end of file
+
+def kill9(pid):
+    subprocess.call("kill -9 " + pid, shell=True)
+
+def check_proc_existence_and_kill(regex):
+    cmd = 'ps aux | grep "' + regex + '"'
+    psRes = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).communicate()[0]
+    psRes = psRes.split('\n')
+    for line in psRes:
+        if 'grep' in line or len(line) == 0:
+            continue
+        line2 = [i for i in line.split(' ') if i != '']
+        pid = line2[1]
+        kill9(pid)
+        return pid
+    return 0
+
+def check_proc_existence_and_kill_multi(regex, nb_kills, time_between_two_checks = 1):
+    found = False
+    i = 0
+    while not found and i < nb_kills :
+        found = check_proc_existence_and_kill(regex)
+        if found:
+            return found
+        time.sleep(time_between_two_checks)
+        i+=1
+    return 0
\ No newline at end of file