Chromium Code Reviews| Index: build/android/pylib/utils/test_environment.py |
| diff --git a/build/android/pylib/utils/test_environment.py b/build/android/pylib/utils/test_environment.py |
| index 279bc4a135c6acb043712a4c3d37425029ebaf13..ac434fb9df92ca7cb4ff76e0f94b05b4e03ccbeb 100644 |
| --- a/build/android/pylib/utils/test_environment.py |
| +++ b/build/android/pylib/utils/test_environment.py |
| @@ -5,19 +5,30 @@ |
| import logging |
| import os |
| import psutil |
| +import signal |
| from pylib import android_commands |
| + |
| def _KillWebServers(): |
| - for retry in xrange(5): |
| - for server in ['lighttpd', 'web-page-replay']: |
| - pids = [p.pid for p in psutil.process_iter() if server in p.name] |
| - for pid in pids: |
| + for s in [signal.SIGTERM, signal.SIGINT, signal.SIGQUIT, signal.SIGKILL]: |
| + signalled = [] |
| + for server in ['lighttpd', 'webpagereplay']: |
| + for p in psutil.process_iter(): |
| try: |
| - logging.warning('Killing %s %s', server, pid) |
| - os.kill(pid, signal.SIGQUIT) |
| + if not server in ' '.join(p.cmdline): |
| + continue |
| + logging.warning('Killing %s %s', server, p.pid) |
|
tonyg
2013/12/06 18:41:09
I recommend we downgrade this to logging.info and
bulach
2013/12/09 10:25:17
Done.
|
| + p.send_signal(s) |
| + signalled.append(p) |
| except Exception as e: |
| - logging.warning('Failed killing %s %s %s', server, pid, e) |
| + logging.warning('Failed killing %s %s %s', server, p.pid, e) |
| + for p in signalled: |
| + try: |
| + p.wait(1) |
| + except Exception as e: |
| + logging.warning('Failed waiting %s %s', p.pid, e) |
|
tonyg
2013/12/06 18:41:09
'Failed waiting for %s to die. %s'
bulach
2013/12/09 10:25:17
Done.
|
| + |
| def CleanupLeftoverProcesses(): |