When closing Arduino IDE 2.3.2 on windows 11, it leaves a python (32-bit) task running. If the IDE is open/closed many times, there will be an equal number of python (32-bit) tasks running.
In all of the IDEs I have used when closing the Arduino keeps running my program. If it is reset it jumps to it anyway, it was designed to do this so you can use the IDE then later use it free standing.
Hi @PickyBiker. Do you have the "Raspberry Pi Pico/RP2040" boards platform from Earle F. Philhower, III installed?
Not anymore!
I removed it and the problem I described went away.
Thank you very much!!!
You are welcome. I also experience this because I have the "Raspberry Pi Pico/RP2040" boards platform installed.
Arduino IDE 2.x has a powerful "pluggable discovery" system. Arduino IDE 1.x was written under the assumption that an Arduino board would only ever communicate with the computer through communication channels using one of two "protocols":
- serial
- mDNS
So it was hardcoded to discover the serial ports as well as the "network" ports present on the computer and list those under the Tools > Port menu.
As the years went on and the official and 3rd party hardware ecosystem expanded dramatically to a diverse array of hardware, it became clear that new communications channels would emerge (e.g., DFU, BLE, CAN bus), and so a flexible system was needed to accommodate any arbitrary protocol so that Arduino boards platform developers would not be limited.
Arduino IDE comes with serial-discovery and mdns-discovery pluggable discovery tools that provide the same support for the original port protocols, but now each boards platform developer can provide their own additional discovery tools for discovering the ports of any unique communication channels that might be used by their boards.
The "Raspberry Pi Pico/RP2040" boards platform uses a custom pluggable discovery tool. The author took the novel approach of writing the tool as a Python script (all the other discovery tools are standalone executables):
and then executing that script using the platform's Python tool dependency:
Arduino IDE is able to terminate the processes produced by running the standalone executable discovery tools no problem, which is why you don't see orphan serial-discovery
, mdns-discovery
, dfu-discovery
processes accumulate after exiting Arduino IDE, but for some reason it doesn't work for the Python process that is produced when the IDE starts the "Raspberry Pi Pico/RP2040" boards platform's pluggable discovery tool (which happens on IDE startup if you have that platform installed).
Good information.
Maybe the IDE developers could take your information as an enhancement request to allow the IDE to close the python processes when it closes.