homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: IDLE processes don't close
Type: behavior Stage: resolved
Components: IDLE, Windows Versions: Python 3.1
process
Status: closed Resolution: duplicate
Dependencies: Superseder: "Restart Shell" command leaves pythonw.exe processes running
View: 12540
Assigned To: Nosy List: Simon, brian.curtin, mensanator, roger.serwy, skrah, terry.reedy
Priority: normal Keywords:

Created on 2010年03月08日 23:21 by mensanator, last changed 2022年04月11日 14:56 by admin. This issue is now closed.

Messages (5)
msg100679 - (view) Author: paul stadfeld (mensanator) Date: 2010年03月08日 23:21
So I started 3.1.2...
Python 3.1.2rc1 (r312rc1:78742, Mar 7 2010, 07:49:40) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 
And monitored Windows Task Manager (XP):
Image Name User Name CPU Mem Usage
---------------------------------------------
pythonw.exe paul_stadfeld 00 11,120 K
pythonw.exe paul_stadfeld 00 16,816 K
I assume this is normal.
I deliberately do something stupid:
>>> a = 222222222222222222222222222
>>> b = 5555555555555555555555555555 
>>> a**b
Ok, that will run for a while, long enough for me to watch the Task Manager:
Image Name User Name CPU Mem Usage
---------------------------------------------
pythonw.exe paul_stadfeld ~55 ~30,548 K (constantly changing)
pythonw.exe paul_stadfeld 00 16,828 K
So I do [Restart Shell] from IDLE's [Shell] menu:
>>> ================================ RESTART ================================
And try it again.
>>> a = 222222222222222222222222222
>>> b = 5555555555555555555555555555 
>>> a**b
But now it's different:
Image Name User Name CPU Mem Usage
---------------------------------------------
pythonw.exe paul_stadfeld 00 13,716
pythonw.exe paul_stadfeld ~50 ~30,548 K (constantly changing)
pythonw.exe paul_stadfeld ~48 ~45,548 K (constantly changing)
pythonw.exe paul_stadfeld 00 16,892 K
Looks like the previous process was never stopped.
Trying to Restart Shell again and running same creates a 5th instance
of pythonw.exe.
>>> ================================ RESTART ================================
>>> a = 222222222222222222222222222
>>> b = 5555555555555555555555555555 
>>> a**b
Image Name User Name CPU Mem Usage
---------------------------------------------
pythonw.exe paul_stadfeld 00 13,716
pythonw.exe paul_stadfeld ~50 ~54,548 K (constantly changing)
pythonw.exe paul_stadfeld ~25 ~42,548 K (constantly changing)
pythonw.exe paul_stadfeld ~25 ~54,548 K (constantly changing)
pythonw.exe paul_stadfeld 00 16,892 K
Only this time I got an error trying to re-start.
 IDLE's subprocess didn't make connection. Either IDLE can't start a 
 subprocess or personal firewall software is blocking the connection
Now I'm stuck, so I close the "Python Shell" window.
But closing the window only stopped one of the pythonw.exe instances.
The three active processes are still running full tilt (the one quiescent
process remains quiescent.)
This appears to be a process leak in addition to it being a memory leak.
Also, had one of the processes that won't stop opened a script from a USB
port, then Windows would refuse to eject the USB drive as it correctly 
thinks some process is still using it. Of course, since the application 
is closed, there's not suppoed to be any such process, so it's
not obvious where the problem is unless you look at the process table
in Windows Task Manager and manually halt all the renegade pythonw.exe
processes that are still running. At which point Windows will allow the 
USB to be ejected.
msg100735 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2010年03月09日 17:47
I reproduced this with 3.1.1 on xp. It took a while to get the shell menu to restart as the calculation process is hogging the cpu 99%.
KeyboardInterrupt (^C) would not stop the runaway process. There may have been other issues about this.
Two processes is normal - one for the shell and one for calculations. The 'normal' behavior of Restart Shell (^F6) is to start a third process. Watching in task manager, the abandoned calculation process dies in 3-4 seconds. A stuck process does not end on its own though. Bad bug.
msg102818 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2010年04月11日 09:16
For the record:
In 2.7-alpha you do not even get to press [Restart Shell], since IDLE is
not responding during the calculation.
msg138814 - (view) Author: Simon Buchan (Simon) Date: 2011年06月22日 05:09
Not sure if this is related, but for me none of the F5 processes (command line "pythonw.exe -c __import__('idlelib.run').run.main(True) <num>") ever exit on either 2.7.2 or 3.2.1rc1.
msg150044 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2011年12月21日 21:10
This issue should be closed since issue12540 fixes it.
I verified that the bug exists with 3.1.4 on Vista. It does not exist with 3.2.2 on Vista.
History
Date User Action Args
2022年04月11日 14:56:58adminsetgithub: 52340
2011年12月22日 06:18:22ned.deilysetstatus: open -> closed
resolution: duplicate
superseder: "Restart Shell" command leaves pythonw.exe processes running
stage: needs patch -> resolved
2011年12月21日 21:10:27roger.serwysetnosy: + roger.serwy
messages: + msg150044
2011年06月22日 05:09:11Simonsetnosy: + Simon
messages: + msg138814
2010年04月11日 09:16:37skrahsetnosy: + skrah
messages: + msg102818
2010年03月09日 17:47:24terry.reedysetnosy: + terry.reedy
messages: + msg100735
2010年03月08日 23:53:30brian.curtinsetnosy: + brian.curtin
priority: normal
components: + Windows
type: behavior
stage: needs patch
2010年03月08日 23:21:30mensanatorcreate

AltStyle によって変換されたページ (->オリジナル) /