Linux поставляется с множеством команд, каждая команда уникальна и используется в определенных случаях

Цель Linux – помочь вам быть максимально быстрым и эффективным.

Одним из свойств команды Linux является ограничение по времени.

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

Если время истекает, команда прекращает выполнение.

В этом коротком руководстве вы изучите два метода использования ограничения времени в ваших командах.

Запустите команды Linux с помощью инструмента timeout

В Linux есть утилита командной строки, называемая timeout, которая позволяет вам выполнять команду с ограничением по времени.

Его синтаксис выглядит следующим образом.

timeout [OPTION] DURATION COMMAND [ARG]...
Чтобы использовать команду, вы указываете значение времени ожидания (в секундах) для команды, которую хотите запустить, например, чтобы выполнять команду ping через 5 секунд, вы можете выполнить следующую команду.
# timeout 5s ping google.com
Вам не нужно указывать (s) после номера 5.
Команда, показанная ниже такая же и  тоже будет работать.
Другие суффиксы:
  • m минуты
  • h часы
  • d дни
Иногда команды могут продолжать выполняться даже после того, как тайм-аут отправляет начальный сигнал, в таких случаях вы можете использовать опцию –kill-after.
Вот синтаксис:
-k, --kill-after=DURATION

Вам нужно указать продолжительность, чтобы timeout знал, через сколько времени должен быть отправлен сигнал kill.

Например, показанная команда будет прекращена через 8 секунд.

# timeout 8s tail -f /var/log/syslog

Запуск команд Linux с помощью программы Timelimit

Программа Timelimit запускает команду, затем завершает процесс по истечении заданного времени, используя заданный сигнал, сначала передает предупреждающий сигнал, а затем по истечении времени ожидания отправляет сигнал kill.

В отличие от опции timeout, Timelimit имеет больше опций, таких как killsig, warnsig, killtime и warntime.

Timelimit можно найти в репозиториях систем на основе Debian, и для его установки используйте следующую команду.

$ sudo apt install timelimit
Для систем на основе Arch вы можете установить его с помощью вспомогательных программ AUR, например, Pacaur Pacman и Packer.
# Pacman -S timelimit
# pacaur -S timelimit
# packer -S timelimit

В других дистрибутивах Linux вы можете скачать исходный код и установить его вручную.

После установки выполните следующую команду и укажите время.

В этом примере 10 секунд.
$ timelimit -t10 tail -f /var/log/pacman.log
Обратите внимание, что если вы не указываете аргументы, Timelimit использует значения по умолчанию: warntime = 3600 секунд, warnsig = 15, killtime = 120 и killsig = 9.

Заключение

Из этого руководства вы узнали, как запускать команды с ограничением по времени в Linux.

Вы можете использовать команду Timeout или утилиту Timelimit.

Команда Timeout проста в использовании, а утилита Timelimit немного сложна, но имеет больше опций.

Вы можете выбрать наиболее подходящий вариант в зависимости от ваших потребностей.

 

Поделитесь статьей:

Добавить комментарий