Kill child processes as well as shell process
@ -7,5 +7,9 @@ if sys.platform.startswith("win"):
def taskkill(pid):
os.system('taskkill /F /PID {:d} /T >NUL 2>NUL'.format(pid))
else: # POSIX
import psutil
os.kill(pid, signal.SIGTERM)
parent = psutil.Process(pid)
for child in parent.children(recursive=True):
child.kill()
parent.kill()