Выполнить три оболочки 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 &