2

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

Какие существуют лучшие практики для запуска команд тайм-аута в сценарии оболочки? Например, запускать команды с помощью какой-либо команды мониторинга с определенным максимальным временем работы в секундах?

я ищу что-то вроде "timeout -s 300 'this command line'"

Решения Cron вне вопроса и не приемлемые ответы.

1 ответ1

1

Существует пакет под названием timeout, основанный на debian sudo apt-get timeout установки. Проблема заключается в том, что команде дается только выделенное время для выполнения, поэтому, если вы выполняете ssh'ing и делаете тайм-аут 300 ssh example@example.com, задача завершается через 300 секунд. При этом, у StackOverflow был похожий вопрос с реализацией скрипта, которая могла бы это сделать.

Хотя я попробовал это вчера еще раз, и это было нормально, так что все зависит от того, какая команда следует за ним.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .