ich bin dabei ein Scheduler-programm in Python zu schreiben, welches mir andere Python-Programme ausführen soll. Jetzt habe ich zum ausführen des anderen Python-programms den so.popen() befehl benutzt.
Mein "Haupt"-Programm wird ohne Fehler ausgeführt. Jedoch läuft das von popen() gestartete "Unter"-Programm offensichtlich nicht fehlerfrei nicht durch.
Ich habe jetzt nach der Meldung "os._wrap_lose object at" gesucht und habe da auch einen Hinweis auf die Firewall gefunden. Aber ich weiß nicht wie ich das Problem näher eingrenzen soll. [edit: ... geschweige denn was ich wo an der Firewall herumschrauben müsste - die ist auf Fedora immer noch ein Buch mit sieben Siegeln]
Ich benutze Fedora 32, und habe den folgenden Codeschnipsel in PyCharm ausgeführt.
Die Befehlszeile, die ich in popen nutze, funktioniert im Terminal fehlerfrei und auch das "Unter"-Programm wird dort bei direktem Aufruf fehlerfrei ausgeführt - nur der Umweg über popen() scheint nicht zu funktionieren. Was ich auch eindeutig an der Logdatei des anderen Programms erkennen kann.
Programschnipsel zum testen des popen()-Befehls:
Code: Alles auswählen
import os
program = '/home/aaa/PycharmProjects/bbb/ccc.py'
print(os.popen(program))
Code: Alles auswählen
<os._wrap_close object at 0x7f88feb60f70>
Process finished with exit code 0