Guten Morgen, ich möchte das gleiche Python-Skript mehrfach in der Windows-Konsole starten. Ich helfe mir im Moment damit mehrere Konsolenfenster zu öffnen und den Befehl immer einzutippen. Geht das einfacher? Ich kann mich dunkel daran erinnern, dass man unter Linux mit einem &-Zeichen einen Hintergrundprozess starten kann. Gruß Dennis
mit start "deinBefehl" würde sich zumindest ein neues Konsolenfenster öffnen während du im alten weiter arbeiten kannst.
for i in $(seq 1 5); do ((sleep 3)&); done Natürlich sleep 3 bei dir mit python script.py ersetzten.
benwilliam schrieb: > mit > start "deinBefehl" würde sich zumindest ein neues Konsolenfenster öffnen > während du im alten weiter arbeiten kannst. Stimmt, das habe ich jetzt in eine Batch-Datei gepackt.. aber die Redundanz ist dann doch irgendwie unschön.. Meckern auf hohem Niveau.. ;-) neuer PIC Freund schrieb im Beitrag #4239293: > for i in $(seq 1 5); do ((sleep 3)&); done > > Natürlich sleep 3 bei dir mit python script.py ersetzten. Wenn ich das direkt in die Konsole eingebe erscheint der folgende Fehler:
1 | for i in $(seq 1 5); do ((python CheckState.py)&); done |
2 | "i" kann syntaktisch an dieser Stelle nicht verarbeitet werden. |
Danke euch beiden!
Dennis S. schrieb: > Wenn ich das direkt in die Konsole eingebe erscheint der folgende > Fehler: Wenn du dir einen Hauch von UNIX Userland installiert dann klappt das. Powershell Start-Process ohne -Wait müsste aber auch gehen.
mehrfach parallel startet man mit dem tool gnu parallel... 73
Dennis S. schrieb: > Wenn ich das direkt in die Konsole eingebe erscheint der folgende > Fehler:for i in $(seq 1 5); do ((python CheckState.py)&); done > "i" kann syntaktisch an dieser Stelle nicht verarbeitet werden. > > Danke euch beiden! Ich glaube in der Konsole muss es %i heißen, und wenn du das in eine batchdatei packst dann %%i. (Ja, windows unterscheidet, ob man das in die Konsole einhackt, oder ob das in einem script steht...)
Und seq kennt Windows auch nicht und backgrounden mit & auch nicht (& ist nur Befehlstrenner analog zu ; in richtigen Shells). Letzteres war ja genau das Problem. Es ging nicht um die fehlende Schleife, sondern das fehlende "im Hintergrund". Wenn dich die zusätzlichen Komsolenfenster nerven, gibt es auch noch hstart /NOCONSOLE http://www.ntwind.com/software/hstart.html
Vielen Dank für eure Antworten. ich hacke es jetzt einfach in eine Batch mit "start" und ignoriere die Fenster.. das Problem ist zu unwichtig um sich zu lange damit zu beschäftigen! Trotzdem ein paar Rückfragen: Malte S. schrieb: > Wenn du dir einen Hauch von UNIX Userland installiert dann klappt das. > Powershell Start-Process ohne -Wait müsste aber auch gehen. Was ist denn bitte "Hauch von UNIX Userland"? MSYS? Cygwin? Hans W. schrieb: > mehrfach parallel startet man mit dem tool gnu parallel... Davon gibt es meiner kurzen Recherche nach keine fertigen Windows-Binaries. Gruß Dennis
Dennis S. schrieb: > Was ist denn bitte "Hauch von UNIX Userland"? MSYS? Cygwin? Ja, wegen der bash. Aber ich habe gerade nochmal nachgesehen. Mir bisher unbekannt war start /B das könnte genau sein, was du willst.
"start /MIN ..." wäre auch noch eine Variante, da wären die Fenster zumindest minimiert.
Ganz andere Idee: Ist doch dein python-Programm, oder?
1 | import os; |
2 | for x in range(0,3): |
3 | os.fork(); |
am Anfang (oder geeigneter Stelle nach initialisierungen) einbauen, schon läuft das Script acht mal. . . . Ja, dass die children auch forken ist Absicht. Ich mag Bäume :)
1 | > pstree 12345 |
2 | python─┬─python─┬─python─┬─python─┬─python───python |
3 | │ │ │ └─python |
4 | │ │ ├─python───python |
5 | │ │ └─python |
6 | │ ├─python─┬─python───python |
7 | │ │ └─python |
8 | │ ├─python───python |
9 | │ └─python |
10 | ├─python─┬─python─┬─python───python |
11 | │ │ └─python |
12 | │ ├─python───python |
13 | │ └─python |
14 | ├─python─┬─python───python |
15 | │ └─python |
16 | ├─python───python |
17 | └─python |
Hallo "Planlos", ab welcher Python-Version ist das denn unter Windows verfügbar...? Gruß Dennis
Dennis S. schrieb: > ab welcher Python-Version ist das denn unter Windows verfügbar...? Uuups. Keine Ahnung. Evtl. bei Cygwin-Python statt Windows-Python? Evtl. findet sich hier eine Alternative: https://docs.python.org/3/library/multiprocessing.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.