From 1ac27e9305218b98e7cb33080e79ea78d6448db4 Mon Sep 17 00:00:00 2001 From: Jiang Jie Date: Wed, 12 Aug 2015 16:25:33 +0800 Subject: [PATCH] fixed pipe and zoombie problems 1.we don't need stdin here, and it'll cause OSError: too many openfiles problem. 2. after using /scan/taskid/stop , process turned into a zoombie, need add wait() --- lib/utils/api.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/utils/api.py b/lib/utils/api.py index c007289b5..1db28e7cd 100644 --- a/lib/utils/api.py +++ b/lib/utils/api.py @@ -155,11 +155,12 @@ class Task(object): def engine_start(self): self.process = Popen(["python", "sqlmap.py", "--pickled-options", base64pickle(self.options)], - shell=False, stdin=PIPE, close_fds=not IS_WIN) + shell=False, close_fds=not IS_WIN) def engine_stop(self): if self.process: - return self.process.terminate() + self.process.terminate() + return self.process.wait() else: return None @@ -168,7 +169,8 @@ class Task(object): def engine_kill(self): if self.process: - return self.process.kill() + self.process.kill() + return self.process.wait() else: return None