I didn't understand this sentences: "setting a value in ProcessOpen.terminate() implies that the process no longer runs. However it will actually no longer be running when os.waitpid() will be called and collect the child process (until then it's a zombie)."

Anyway I don't see the point to debate about a piece of code that has already been removed.