Другой вызываемый скрипт не переходит в фоновый режим даже при наличии &

Так как это bash, вы упустили несколько вещей в конце вашего скрипта.

[...]
        amount=$(($amount-$wager))
        echo You Lost $wager$
    fi
# close function
}  
# get a wager
read -p "Enter wager " wager
# validate and call play_game()
((wager>0)) && play_game || echo "Invalid wager: $wager"

Вот он на ТИО:

Попробуйте онлайн!

0
03.07.2020, 21:20
2 ответа

xargs -tпишет stderr. Ваш > /dev/nullне влияет на stderr. Итак, вы пишете на терминал из фонового процесса, что обычно является плохой идеей.

0
18.03.2021, 23:22

Если вы хотите, чтобы процесс find/gzip происходил в фоновом режиме, вы можете запустить весь этот блок в фоновом режиме, используя что-то вроде:

( find ${Filepath}/ -maxdepth 1 -type f -name "${Pattern}" -print0 | xargs -0 -t -n 1 -P 16 gzip > /dev/null ) &

Однако, в зависимости от того, сколько времени потребуется для завершения всех этих gzip-процессов, что может быть неразумно, если это займет больше времени, чем интервал между запуском вашего скрипта, вы можете столкнуться с более чем одним процессом, пытающимся сжать один и тот же файл..

Вам, вероятно, лучше использовать что-то вроде inotifywatch, чтобы следить за каталогом для появления файлов и сжимать их.

0
18.03.2021, 23:22

Теги

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