Запуск всех сценариев в папке в фоновом режиме

Я хочу одновременно запускать все сценарии в каталоге.

Я знаю, что могу получить список всех скриптов и выполнить первый в каталоге с помощью `ls ./*. Sh`, но я не могу заставить их всех запускать.

Я также попытался расширить брекет {./*.sh; }, но также был запущен только первый скрипт.

После того, как я выясню, как запустить все из них, я хочу запустить их все в фоновом режиме.

Я знаю, что я, возможно, сделаю это с циклом for, но я надеялся, что есть простой один лайнер с использованием расширения или расширения фигурной скобки, что упростит работу.

Как я могу это сделать?

  • Как отправить на фоновый процесс, запущенный с sudo?
  • Определить процесс
  • Изменение фоновых заданий и / или уведомление о завершении задания после запуска
  • Как запустить код в фоновом режиме?
  • Выход из терминала «nohup ./my_script &» => «У вас есть рабочие задания». ОК, чтобы выйти?
  • Как создать цепочку команд?
  • Как понять вывод трассировки, выполняющей внешнюю команду в фоновом режиме через strace
  • Почему функция не возвращается, пока фоновый процесс не завершится?
  • 5 Solutions collect form web for “Запуск всех сценариев в папке в фоновом режиме”

    for script in ./*.sh; do "$script" & done wait 

    Или ограничить количество одновременных вызовов с помощью GNU xargs :

     xargs -n1 -P5 -r0a <(printf '%s\0' ./*.sh) env 

    (будьте осторожны, предполагается, что имена сценариев не содержат = символов).

    Или с zsh :

     autoload zargs # best in ~/.zshrc zargs -n1 -P5 ./*.sh -- command 

    (здесь не более 5 за раз).

    Помните, что если эти сценарии производят какой-либо вывод, они могут оказаться чересчур чересчур. GNU parallel адреса, которые, сохраняя вывод каждой команды в отдельном временном файле и выводя их по порядку:

     parallel -j0 exec ::: ./*.sh 

    ( -j0 чтобы запустить все из них параллельно, удалить, чтобы ограничить количество ядер процессора, или указать номер самостоятельно).

    вы можете выполнить все скрипты в папке, передав папку команде run-parts :

     run-parts /path/to/folder & 

    Запустите каждый сценарий оболочки в фоновом режиме.

     sh -x script1.sh & sh -x script2.sh & sh -x script3.sh & 
    • Запускайте каждый сценарий в фоновом режиме, чтобы запускалась следующая команда, не дожидаясь завершения текущей команды.

    • '&' заставляет скрипты работать в фоновом режиме, чтобы приглашение не дождалось завершения

    Вы можете запустить любой исполняемый файл в фоновом режиме, добавив & до конца вызова. Пример:

     ./executbaleFile [args] & 

    Но когда вы просто это сделаете, если вы закроете сеанс или выйдете из терминала, он отправит SIGHUP в процесс, который вы используете.

    Если вы хотите, чтобы процесс продолжал работать, даже если вы закрываете терминал, вы должны выполнить команду nohup . например:

     nohup ./executbaleFile [args] & 

    это позволит процессу работать даже после закрытия терминала.

    Или используйте disown ., Он удаляет задание из списка заданий оболочки, поэтому при завершении оболочки он не отправляет SIGHUP в процесс.

    Запустите сценарии в фоновом режиме:

     ./myscript.sh & ./myscript2.sh & .... 
    Interesting Posts

    Восстановление ip-правила по умолчанию

    исходящий порт SMTP 25 заблокирован провайдером?

    LXPanel реконфигурирует себя после перезагрузки

    Сценарий оболочки для ожидания пакета из определенного порта

    Откорректируйте скрипт для получения только определенного выходного отчета rtvscand

    Один объем LVM для нескольких массивов mdadm

    Как я могу создавать новые всплывающие окна для отображения на одном рабочем столе своего приложения?

    Дополнительный вывод при запуске команд из zsh в Guake

    Как синхронизировать несколько устройств Palm PDA?

    Игнорировать глобусы, которые не соответствуют чему-либо

    Не удалось получить «InRelease» в apt-файле Debian9

    Анализ использования диска для корневого раздела, за исключением других разделов, смонтированных с помощью программы GUI?

    как вызвать функции из цикла for в сценарии оболочки

    Как установить с помощью pacman в ArchLinux без запроса пользователя y / n?

    Правильный синтаксис для команды «id -r»

    Linux и Unix - лучшая ОС в мире.