Как Вы запускаете несколько программ параллельно из сценария удара?

Я пытаюсь записать .sh файл, который запускает много программ одновременно

Я попробовал это

prog1 
prog2

Но это работает, prog1 затем ожидает до prog1 концы и затем запускает prog2...

Таким образом, как я могу выполнить их параллельно?

216
задан tripleee 13 June 2016 в 03:15
поделиться

5 ответов

prog1 &
prog2 &
188
ответ дан 23 November 2019 в 04:16
поделиться

Есть очень полезная программа, которая вызывает nohup.

     nohup - run a command immune to hangups, with output to a non-tty
8
ответ дан 23 November 2019 в 04:16
поделиться

С GNU Parallel http://www.gnu.org/software/parallel/ это так же просто, как:

(echo prog1; echo prog2) | parallel

Или, если хотите:

parallel ::: prog1 prog2

Подробнее:

  • Посмотрите вступительное видео для быстрого ознакомления: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
  • Изучите руководство (man parallel_tutorial). Ваша командная строка буду любить тебя за это.
  • Прочтите: Оле Танге, GNU Parallel 2018 (Оле Танге, 2018).
61
ответ дан 23 November 2019 в 04:16
поделиться

Вы можете попробовать ppss . ppss довольно мощный - вы даже можете создать мини-кластер. xargs -P также может быть полезен, если вам нужно выполнить партию удручающе параллельной обработки.

7
ответ дан 23 November 2019 в 04:16
поделиться
#!/bin/bash
prog1 & 2> .errorprog1.log; prog2 & 2> .errorprog2.log

Перенаправление ошибок в отдельные журналы.

9
ответ дан 23 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: