mirror of
https://github.com/FlareSolverr/FlareSolverr.git
synced 2026-04-20 23:12:41 +02:00
Kill Chromium processes properly to avoid defunct/zombie processes
This commit is contained in:
@@ -599,7 +599,8 @@ class Chrome(selenium.webdriver.chrome.webdriver.WebDriver):
|
||||
def quit(self):
|
||||
logger.debug("closing webdriver")
|
||||
if hasattr(self, "service") and getattr(self.service, "process", None):
|
||||
self.service.process.kill()
|
||||
self.service.process.terminate()
|
||||
self.service.process.wait(5)
|
||||
try:
|
||||
if self.reactor and isinstance(self.reactor, Reactor):
|
||||
logger.debug("shutting down reactor")
|
||||
|
||||
@@ -27,12 +27,14 @@ def start_detached(executable, *args):
|
||||
reader, writer = multiprocessing.Pipe(False)
|
||||
|
||||
# do not keep reference
|
||||
multiprocessing.Process(
|
||||
process = multiprocessing.Process(
|
||||
target=_start_detached,
|
||||
args=(executable, *args),
|
||||
kwargs={"writer": writer},
|
||||
daemon=True,
|
||||
).start()
|
||||
)
|
||||
process.start()
|
||||
process.join()
|
||||
# receive pid from pipe
|
||||
pid = reader.recv()
|
||||
REGISTERED.append(pid)
|
||||
|
||||
Reference in New Issue
Block a user