В Linux можно ограничить время работы любой команды без написания дополнительной логики!
Иногда команда зависает, перестаёт отвечать или работает значительно дольше ожидаемого. Обычно для таких случаев пишут отдельные проверки, запускают процессы в фоне или завершают их вручную.
Во многих дистрибутивах уже есть утилита timeout из GNU Coreutils:
bash id="c8fv6n"
$ timeout 30s ./backup.sh
Если через 30 секунд команда не завершится самостоятельно, timeout отправит ей сигнал завершения.
При необходимости можно указать другой сигнал:
bash id="x4pqsn"
$ timeout -s SIGKILL 5m command
Это удобно для автоматизации, резервного копирования, тестов и CI, где зависший процесс не должен блокировать выполнение остальных задач.
Команда возвращает код завершения, поэтому её легко использовать в shell-сценариях без дополнительных конструкций.
🔥 timeout позволяет сделать любой сценарий устойчивее к зависаниям буквально одной строкой.
🚪 Linux Ready | #совет
Иногда команда зависает, перестаёт отвечать или работает значительно дольше ожидаемого. Обычно для таких случаев пишут отдельные проверки, запускают процессы в фоне или завершают их вручную.
Во многих дистрибутивах уже есть утилита timeout из GNU Coreutils:
bash id="c8fv6n"
$ timeout 30s ./backup.sh
Если через 30 секунд команда не завершится самостоятельно, timeout отправит ей сигнал завершения.
При необходимости можно указать другой сигнал:
bash id="x4pqsn"
$ timeout -s SIGKILL 5m command
Это удобно для автоматизации, резервного копирования, тестов и CI, где зависший процесс не должен блокировать выполнение остальных задач.
Команда возвращает код завершения, поэтому её легко использовать в shell-сценариях без дополнительных конструкций.
🔥 timeout позволяет сделать любой сценарий устойчивее к зависаниям буквально одной строкой.
🚪 Linux Ready | #совет