Mehrere Terminals mit Python oder Bash unter Ubuntu Öffnen?
Hallo, ich möchte mir ein kleines script schreiben das mehrere terminals gleichzeitig öffnet und in jedem terminal einen Befehl ausführt.
import os , subprocess
subprocess.call(['xterm', '-e', 'python meinscript1.py'])
subprocess.call(['xterm', '-e', 'python meinscript2.py'])
subprocess.call(['xterm', '-e', 'python meinscript3.py'])
So hatte ich es bisher probier, leider ohne erfolg. Die Googlesuche hilft mir auch nicht wirklich weiter.
2 Antworten
Subprocess call wartet ab bis das Programm durchgelaufen ist. Wenn das im Hintergrund laufen soll brauchst du Popen oder so.
So führt es alle hintereinander aus, vermutlich.
Oder ist das nicht das Problem?
popen klappt auch nicht, die Programme sollen nicht im Hintergrund laufen sondern alle 3 im Vordergrund in einem neuen terminal
Du könntest Multi Threading in deinem Hauptprogramm nutzen. In jedem Thread wird ein Script ausgeführt.
https://realpython.com/intro-to-python-threading/
Ich würde den Python Code aus deinen Dateien auch direkt über Python ausführen und nicht über ein Shell.
import meinscript1
meinscript1.funktion()