Supposons que j'ai trois (ou plus) scripts bash: script1.sh
, script2.sh
et script3.sh
. Je voudrais appeler ces trois scripts et les exécuter en parallèle . Pour ce faire, vous pouvez simplement exécuter les commandes suivantes:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(En général, les scripts peuvent prendre plusieurs heures ou jours pour se terminer, je voudrais donc les utiliser nohup
pour qu'ils continuent de fonctionner même si ma console se ferme.)
Mais, existe-t-il un moyen d'exécuter ces trois commandes en parallèle avec un seul appel?
Je pensais à quelque chose comme
nohup bash script{1..3}.sh &
mais cela semble s'exécuter script1.sh
, script2.sh
et script3.sh
en séquence, pas en parallèle.
nohup bash script{1..100}.sh &
ou for i in {1..100}; do nohup bash script{1..100} &; done
), plutôt que de taper nohup bash script*.sh &
100 fois différents.
screen
(ou tmux
), afin de résoudre le problème de la console, mais garder l'accès à la sortie (et à l'entrée).
nohup ... & nohup ... & nohup ... &
. Si vous voulez plutôt exécuter tous les scripts sans taper chaque nom de script individuellement, une simple boucle le fera.