Команда yum не найдена, не удается установить стресс [закрыто]

Предполагая, что оболочка подобна bash или ksh :

max_time=3

SECONDS=0

IFS=$'\n:'

grep -v '^#' ref.txt |
while read tag cmd; do
    if (( SECONDS < max_time )); then
        echo "starting '$cmd' (tag is '$tag')"
        sleep 2 # for simulation purposes
    else
        echo "did not have time to start '$cmd' (tag is '$tag')"
    fi
done

Это даст следующий результат:

$ ksh script.sh
starting 'Process3' (tag is 'TEST')
starting 'process4' (tag is 'TEST')
did not have time to start 'process5' (tag is 'TEST')

Сценарий выбирает все строки из файла ref.txt , которые не закомментированы, и разбивает их на : , чтобы отделить начальный тег от команды.

Если время ожидания сценария еще не истекло, он запускает текущий процесс чтения (здесь имитируется вызовом sleep ).

Если он использовал слишком много времени, он не будет запускать другие процессы, но сообщит о тех, которые еще не были запущены.

Тайм-аут не произойдет асинхронно, т.е. скрипт не прервет запуск процесса, если прошло более max_time секунд.

Переменная SECONDS содержит количество секунд с момента запуска оболочки или, как в данном случае, с момента последнего сброса в ноль.

1
23.02.2015, 19:29
0 ответов

Теги

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