Suponha que eu tenho três (ou mais) scripts bash: script1.sh
, script2.sh
, e script3.sh
. Gostaria de chamar todos esses três scripts e executá-los em paralelo . Uma maneira de fazer isso é apenas executar os seguintes comandos:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(Em geral, os scripts podem levar várias horas ou dias para serem concluídos, portanto, eu gostaria de usá-los nohup
para que continuem sendo executados mesmo que meu console seja fechado.)
Mas, existe alguma maneira de executar esses três comandos em paralelo com uma única chamada?
Eu estava pensando em algo como
nohup bash script{1..3}.sh &
mas isso parece executar script1.sh
, script2.sh
e script3.sh
em sequência, não em paralelo.
nohup bash script{1..100}.sh &
ou for i in {1..100}; do nohup bash script{1..100} &; done
), em vez de digitar nohup bash script*.sh &
100 vezes diferentes.
screen
(ou tmux
) para resolver o problema do console, mas manter o acesso à saída (e entrada).
nohup ... & nohup ... & nohup ... &
. Se você quer dizer que deseja executar todos os scripts sem digitar cada nome de script individualmente, um loop simples fará isso.