Предположим , что у меня есть три (или более) Баш сценариев: script1.sh
, script2.sh
и script3.sh
. Я хотел бы вызвать все три сценария и запустить их параллельно . Один из способов сделать это - просто выполнить следующие команды:
nohup bash script1.sh &
nohup bash script2.sh &
nohup bash script3.sh &
(Как правило, выполнение сценариев может занять несколько часов или дней, поэтому я хотел бы использовать их, nohup
чтобы они продолжали работать, даже если моя консоль закрывается.)
Но есть ли способ выполнить эти три команды параллельно с одним вызовом?
Я думал что-то вроде
nohup bash script{1..3}.sh &
но это, кажется, выполняется script1.sh
, script2.sh
и script3.sh
последовательно, а не параллельно.
nohup bash script{1..100}.sh &
или for i in {1..100}; do nohup bash script{1..100} &; done
), а не печатать nohup bash script*.sh &
100 раз.
screen
тоже (или tmux
), чтобы решить проблему с консолью, но сохранить доступ к выводу (и вводу).
nohup ... & nohup ... & nohup ... &
, Если вместо этого вы имеете в виду, что хотите запускать все сценарии, не вводя имя каждого сценария по отдельности, простой цикл сделает это.