Припустимо , що у мене є три (або більше) Баш сценаріїв: 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 ... &
. Якщо ви маєте на увазі, що ви хочете запустити всі сценарії, не вводячи кожне ім'я скрипта окремо, це зробить простий цикл.