2016-09-30 5 views
1

Ich habe ein Skript, das vom Benutzer über Befehlszeilenargumente eingegeben wird. Es verarbeitet die Argumente und startet Python-Befehle. Zum Beispiel:Python-Befehle parallel in Linux-Shell-Skripten ausführen

./run.sh p1 p2 p3 p4 
python abc.py p1 p4 
python xyz.py p2 p3 

wo p1, p2, p3 und p4 können von jeder Art sein.

Ich muss diese beiden Python-Befehle parallel und in zwei verschiedenen Terminals ausführen. Wie kann ich das tun, damit ich nicht auf den Abschluss eines Befehls warten muss, um den nächsten Befehl zu starten?

Ich versuchte GNU parallel, aber es scheint nicht zu funktionieren.

+0

ich auf Python-Projekt gearbeitet, die Parallelität für ihre hydrodynamischen Modellierung verwendet und sie genutzt OpenMPI. Wenn Sie sehen möchten, wie sie es implementiert haben, können Sie etwas auf ihrem GitHub finden: https://github.com/GeoscienceAustralia/anuga_core – Usagi

+0

Es gibt eine wunderbare Antwort hier: http://StackOverflow.com/a/10909842/5381704 –

Antwort

1

Versuchen Sie, jeden Prozess im Hintergrund auszuführen, indem Sie am Ende des Befehls & hinzufügen.

python abc.py p1 p4 & 

python xyz.py p2 p3 & 

Some Info

+0

Erinnere dich an ein letztes "Warten" –

0

ist Ihre Aufgabe Parallel zeichnet sich nicht auf dem GNU, aber es kann getan werden:

parallel ::: "python abc.py p1 p4" "python xyz.py p2 p3" 
Verwandte Themen