Выполнить три оболочки script одновременно
У меня есть три оболочки script, которые я запускаю, как показано ниже -
sh -x script1.sh
sh -x script2.sh
sh -x script3.sh
Таким образом, каждый script выполняется последовательно по одному после предыдущего завершенного выполнения.
Проблема: -
Можно ли каким-либо образом выполнить все три указанных выше сценария одновременно из одного окна?
Я просто хочу выполнить скрипт1, script2, script3 одновременно. Если вы думаете о планировании CRON JOB script1 at 3 AM, script2 at 3AM, script3 at 3AM
(все три сценария одновременно, одновременно). Что мне нужно, мне нужно выполнить все три сценария одновременно.
Ответы
Ответ 1
вы хотите это?
$ sh -x script1.sh & sh -x script2.sh & sh -x script3.sh &
Обновить объяснение:
- Запустите каждый script в фоновом режиме, чтобы следующая команда запускалась без ожидания завершения текущей команды.
-
'&'
заставляет скрипты работать в фоновом режиме, чтобы приглашение не дождалось завершения
-
'&'
также может использоваться для цепочки команд на одной строке, аналогичной запуску команд по очереди в командной строке.
Ответ 2
С помощью GNU Parallel вы можете:
parallel sh -x ::: script1.sh script2.sh script3.sh
Если скрипты исполняемы, вы можете даже сделать:
parallel ::: script1.sh script2.sh script3.sh
Смотрите видеоролики, чтобы узнать больше: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Установка за 10 секунд:
wget -O - pi.dk/3 | bash
Ответ 3
&
позволяет запустить процесс в фоновом режиме.
sh -x script1.sh &
sh -x script2.sh &
sh -x script3.sh &
Ответ 4
Не уверен, что вы пытаетесь выполнить, но вы можете создать script, который вызывает эти 3 или отправить их на задний план, добавив "&". в конце.
sh -x script1.sh &
sh -x script2.sh &
sh -x script3.sh &