Seite 1 von 1
2 Programme gleichzeitig ausführen lassen
Verfasst: Samstag 28. Juli 2018, 18:12
von Phobit
Hallo,
ist es möglich, 2 Python Skripte gleichzeitg ausführen zu lassen?
Also, ich weiß, dass man beide öffnen kann und dann bei beiden auf "run" drücken kann, aber gibt es eine Möglichkeit, dass über ein Python File zu regeln?
Also sowas wie
Nur eben gleichzeitig, sodass man nicht warten muss bis ein Programm fertig ist
Danke schonmal im Vorraus
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Samstag 28. Juli 2018, 19:05
von noisefloor
Hallo,
grundsätzlich: ja. ZB. mittels des multiprocessing oder concurrent.futures (und dann multiprocessing) Moduls. Wenn du Nebenläufigkeit brauchst, also "fast gleichzeitige" Ausführung gibt's noch mehr Möglichkeiten.
Was hast du denn genau vor
Gruß, noisefloor
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Sonntag 29. Juli 2018, 13:40
von Phobit
Hallo,
ich möchte 2 verschiedene Discord Bots gleichzeitig hier laufen lassen, wäre eben schön wenn man beide gleichzeitig starten könnte!
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Sonntag 29. Juli 2018, 13:51
von noisefloor
Hallo,
müssen die Bots miteinander kommunizieren oder sonst irgendwie interagieren? Ansonsten kannst du die doch einfach nacheinander starten (z.B. über je eine systemd Service Unit, falls du Linux als OS benutzt) und dann laufen die parallel.
Gruß, noisefloor
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Freitag 10. August 2018, 10:53
von Phobit
Nein, die laufen einzeln.
Es war mir schon klar dass das so ganz einfach geht, mich hätte nur interessiert ob es möglich wäre beide über eine Datei/einen Befehl zu starten

Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Freitag 10. August 2018, 11:28
von addi
Mit subprocess könntest du es zb. machen.
Also sowas wie:
Code: Alles auswählen
import subprocess
subprocess.call([ 'python', 'file1.py'])
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Freitag 10. August 2018, 12:46
von Phobit
dieser Code würde dann im File2.py stehen oder wie wird das dann aufgerufen?
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Freitag 10. August 2018, 13:39
von noisefloor
Hallo,
addi hat geschrieben: Freitag 10. August 2018, 11:28
Mit subprocess könntest du es zb. machen.
Also sowas wie:
Code: Alles auswählen
import subprocess
subprocess.call([ 'python', 'file1.py'])
Eine Python-Datei über eine andere mittels `subproces` starten ist in 99,999999999% der Fällen so ziemlich der falscheste Weg, den man wählen kann. Wenn importiert man alles aus `file1.py` und führt es dann entsprechend aus.
Phobit hat geschrieben: Freitag 10. August 2018, 10:53
Nein, die laufen einzeln.
Es war mir schon klar dass das so ganz einfach geht, mich hätte nur interessiert ob es möglich wäre beide über eine Datei/einen Befehl zu starten
Ja, unter Linux einfach ohne Python über eine systemd Service Unit. Äquivalente Weg gibt's sicherlich auch unter MacOS und Windows.
Gruß, noisefloor
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Freitag 10. August 2018, 14:19
von Phobit
Danke, von systemd hab ich jetzt schon mehr gehört, werde mich jetzt mal damit auseinandersetzen...
Re: 2 Programme gleichzeitig ausführen lassen
Verfasst: Freitag 10. August 2018, 14:27
von addi
@noisefloor
Okay, gut dann weiß ich es für die Zukunft besser.
Kurzes OT: Was ist eigentlich mit pip, das kann man doch ohne Bedenken mit subprocess aufrufen oder?