Nehmen wir an, dass ich drei (oder mehr) Bash - Skripte: script1.sh
, script2.sh
, und script3.sh
. Ich möchte alle drei Skripte aufrufen und parallel ausführen . Eine Möglichkeit, dies zu tun, besteht darin, einfach die folgenden Befehle auszuführen:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(Im Allgemeinen kann es mehrere Stunden oder Tage dauern, bis die Skripts fertig sind. Daher möchte ich sie verwenden, nohup
damit sie auch dann ausgeführt werden, wenn meine Konsole geschlossen wird.)
Aber ist es eine Möglichkeit , diese drei Befehle in auszuführen parallel mit einem einzigen Anruf?
Ich dachte so etwas wie
nohup bash script{1..3}.sh &
aber dies scheint auszuführen script1.sh
, script2.sh
und script3.sh
in der Reihenfolge, nicht parallel.
nohup bash script{1..100}.sh &
oder for i in {1..100}; do nohup bash script{1..100} &; done
) einzugeben, anstatt nohup bash script*.sh &
100 verschiedene Male einzugeben .
screen
auch in (oder tmux
) starten , um das Konsolenproblem zu lösen, aber den Zugriff auf die Ausgabe (und Eingabe) zu behalten.
nohup ... & nohup ... & nohup ... &
. Wenn Sie stattdessen alle Skripte ausführen möchten, ohne jeden Skriptnamen einzeln einzugeben, wird dies in einer einfachen Schleife ausgeführt.