1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
9 from pylib.device import device_errors
10 from pylib.device import device_utils
13 def _KillWebServers():
14 for s in [signal.SIGTERM, signal.SIGINT, signal.SIGQUIT, signal.SIGKILL]:
16 for server in ['lighttpd', 'webpagereplay']:
17 for p in psutil.process_iter():
19 if not server in ' '.join(p.cmdline):
21 logging.info('Killing %s %s %s', s, server, p.pid)
24 except Exception as e:
25 logging.warning('Failed killing %s %s %s', server, p.pid, e)
29 except Exception as e:
30 logging.warning('Failed waiting for %s to die. %s', p.pid, e)
33 def CleanupLeftoverProcesses():
34 """Clean up the test environment, restarting fresh adb and HTTP daemons."""
36 device_utils.RestartServer()
37 p = device_utils.DeviceUtils.parallel()
38 p.old_interface.RestartAdbdOnDevice()
41 except device_errors.CommandFailedError as e:
42 # TODO(jbudorick) Handle this exception appropriately after interface
43 # conversions are finished.
45 p.WaitUntilFullyBooted()