J'utilise le Jython 2,51 Python mise en œuvre de d'écrire un script qui appelle à plusieurs reprises par un autre processus subprocess.Popen
et utilise PIPE
pour tuyau stdout
et stderr
au processus parent et stdin
à la processus de l'enfant. Après plusieurs centaines d'itérations de boucle, il me semble manquer de descripteurs de fichiers.Jython: subprocess.Popen court de descripteurs de fichiers
Le Python subprocess documentation mentionne très peu sur la libération des descripteurs de fichiers, autres que l'option close_fds
, qui n'est pas décrit très clairement (Pourquoi devrait-il y avoir de descripteurs de fichiers en plus 0, 1 et 2 ouvert en premier lieu?). Je suppose que dans CPython, le comptage des références prend en charge le problème de la libération des ressources. Quelle est la bonne façon de s'assurer que tous les descripteurs sont libérés quand on en a fini avec un objet Popen
dans Jython? Editer: Juste au cas où cela ferait une différence, il s'agit d'un programme multithread, donc il y a plusieurs processus Popen
qui s'exécutent simultanément.