Как самозавершить сценарий удара после тайм-аута?

emerge pfl && e-file filename

Необходимо использовать полное имя файла (Оно также поддерживает полный путь), оно не делает частичных соответствий, поскольку это привело бы к слишком многим результатам; вероятно, сэкономить пропускную способность. Для таких случаев можно действительно обратиться к под управлением описанию, например, eix-S glw или другим упомянутым в другом ответе.

http://wiki.gentoo.org/wiki/Pfl

4
29.05.2019, 21:35
5 ответов
[1168360] Если вы всегда хотите, чтобы у сценария был таймаут через 5 минут, вы можете просто использовать блок в таком фоновом процессе, как этот. Если вы используете [1168671]Ctrl+C[1168672] во время работы, фоновый процесс также завершится:

  • 3
    27.01.2020, 20:44
    [1131244] Утилита [1131612] timeout[1131613], являющаяся частью GNU coreutils, делает это за вас:

    завершит работу сценария через 5 минут после выполнения.[1131247].

    15
    27.01.2020, 20:44
    [1131238] Вы получаете PID с помощью [1131608]PID=$$[1131609].

    То, что Вы хотите, может быть наиболее легко достигнуто с помощью команды [1131610] тайм-аут[1131611].

    Но вы можете запустить и фоновый процесс:

    14
    27.01.2020, 20:44
    [1168336] Можно изменить цикл на:

    или вставить [1168651]((ВТОРОЙ < 5*60)). || exit[1168652] в самом глубоком цикле.

    SECONDS[1168654] в [1168655]ksh[1168656], [1168657]zsh[1168658] и [1168659]bash[1168660] - это специальные переменные, которые инкрементируются каждую секунду.[1168341].

    5
    27.01.2020, 20:44
    [1131340] Можно использовать условие проверки:[12178]Пояснение[12179]Дата +%s[1131870] получаем время в секундах от эпохи, сохраняем его в переменную [1131871] START[1131872], помечаем время начала скрипта.[1131704] [1131705][1131873][[ $(($(дата +%s) - $START)) -ne 300 ]][1131874]: мы снова получаем текущее время ([1131875] дата +%s[1131876]), которое вычитается для времени старта (которое сохраняется в переменной [1131877] START[1131878]). Если результат не равен [1131879]300[1131880] (5 минут), то скрипт продолжает работать, [12181] Если результат равен [1131881]300[1131882], то есть скрипт работает [1131883]5 минут [1131884] со времени старта, мы выходим из цикла [1131885], пока [1131886] цикл, скрипт завершается.[12182]
    4
    27.01.2020, 20:44

    Теги

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