Terry J. Reedy <tjre...@udel.edu> added the comment:

I mentioned pipes because half of the subprocess chapter, it seems, talks about 
them. ASo I got the mis-impression that they are special for subprocess-started 
processes. But if the subprocess gets the args it needs to connect to a socket, 
it should not care how it is started.

Anyway, some experiments:

3.1.3 and 3.1.4 freshly installed do not seem to have the zombie problem. This 
seems to rule out the possibility that the problem is due to recent patches 
from Microsoft.

I redeleted 3.2 installation and re-installed 3.2. Sys.version still 
mistakingly say 3.2.1, July 10., so there is something different about the 
relationship between 3.2 and 3.2.1 and that between 3.1.3 and 3.1.4. And the 
3.2 re-install has the zombie problem while I do not believe the fresh 3.2 
install did. (And it does not on my other machine.) But I do not see how 
something stuck in the registry could affect process killing.

In the notepad example, changing

pid = os.spawnv(os.P_NOWAIT, 'C:/WINDOWS/notepad.exe', ['notepad.exe'])
# (full path needed if not in /windows) to
pid = subprocess.Popen(['C:/WINDOWS/notepad.exe']).pid

changed the 'pid' from a constant (across multiple runs) to a variable (across 
multiple runs) and changed the result of the kill from a zombie and exception 
to proper termination.

When I tried the same fix in idlelib/PyShell.py, adding 'import subprocess' and 
changing
        self.rpcpid = os.spawnv(os.P_NOWAIT, sys.executable, args)
to
        self.rpcpid = subprocess.Popen(args).pid
(args begins with sys.executable) IDLE failed to start. The only evidence that 
it had been invoked was a brief (1/4 second?) appearance of 1 pythonw process 
in task manager. On a subsequent tries, without touching the file, I do not see 
even that. Is there any obvious mistake in the above?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12540>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to