🚀 Утилита
Когда ты запускаешь какую-то команду, и она может зависнуть - это беда. Особенно в скриптах. На помощь приходит утилита
Пример использования:
Эта команда завершит
Можно задать время в секундах (
Что произойдёт при превышении тайм-аута?
По умолчанию
Изменение сигнала:
Проверка кода возврата:
👉@bash_srv
timeout
: автоматическое завершение зависших команд Когда ты запускаешь какую-то команду, и она может зависнуть - это беда. Особенно в скриптах. На помощь приходит утилита
timeout
из пакета coreutils
.Пример использования:
timeout 30s ./backup.sh
Эта команда завершит
./backup.sh
, если она не завершится за 30 секунд.Можно задать время в секундах (
s
), минутах (m
), часах (h
) и даже днях (d
).Что произойдёт при превышении тайм-аута?
По умолчанию
timeout
отправляет сигнал SIGTERM
, а через 5 секунд - SIGKILL
, если процесс всё ещё жив.Изменение сигнала:
timeout -s SIGINT 10s ./script.sh
Проверка кода возврата:
if timeout 5s ./some_command; then
echo "Успешно"
else
echo "Команда завершена по таймауту или с ошибкой"
fi
👉@bash_srv
👍11