equal
deleted
inserted
replaced
113 self.kill_it = kill_it |
113 self.kill_it = kill_it |
114 self.startsem = Semaphore(0) |
114 self.startsem = Semaphore(0) |
115 self.finishsem = Semaphore(0) |
115 self.finishsem = Semaphore(0) |
116 self.endlock = Lock() |
116 self.endlock = Lock() |
117 |
117 |
118 popenargs= { |
118 popenargs = { |
119 "cwd": os.getcwd() if cwd is None else cwd, |
119 "cwd": os.getcwd() if cwd is None else cwd, |
120 "stdin": subprocess.PIPE, |
120 "stdin": subprocess.PIPE, |
121 "stdout": subprocess.PIPE, |
121 "stdout": subprocess.PIPE, |
122 "stderr": subprocess.PIPE |
122 "stderr": subprocess.PIPE |
123 } |
123 } |
154 def output(self, v): |
154 def output(self, v): |
155 self.outdata.append(v) |
155 self.outdata.append(v) |
156 self.outlen += 1 |
156 self.outlen += 1 |
157 if not self.no_stdout: |
157 if not self.no_stdout: |
158 self.logger.write(v) |
158 self.logger.write(v) |
159 if (self.keyword and v.find(self.keyword)!=-1) or (self.outlimit and self.outlen > self.outlimit): |
159 if (self.keyword and v.find(self.keyword) != -1) or (self.outlimit and self.outlen > self.outlimit): |
160 self.endlog() |
160 self.endlog() |
161 |
161 |
162 def errors(self, v): |
162 def errors(self, v): |
163 self.errdata.append(v) |
163 self.errdata.append(v) |
164 self.errlen += 1 |
164 self.errlen += 1 |
196 handle = ctypes.windll.kernel32.OpenProcess(PROCESS_TERMINATE, False, self.Proc.pid) |
196 handle = ctypes.windll.kernel32.OpenProcess(PROCESS_TERMINATE, False, self.Proc.pid) |
197 ctypes.windll.kernel32.TerminateProcess(handle, -1) |
197 ctypes.windll.kernel32.TerminateProcess(handle, -1) |
198 ctypes.windll.kernel32.CloseHandle(handle) |
198 ctypes.windll.kernel32.CloseHandle(handle) |
199 else: |
199 else: |
200 if gently: |
200 if gently: |
201 sig=SIGTERM |
201 sig = SIGTERM |
202 else: |
202 else: |
203 sig=SIGKILL |
203 sig = SIGKILL |
204 try: |
204 try: |
205 os.kill(self.Proc.pid, sig) |
205 os.kill(self.Proc.pid, sig) |
206 except: |
206 except: |
207 pass |
207 pass |
208 self.outt.join() |
208 self.outt.join() |