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()