Таймаут выполнения команды linux

Содержание
  1. Команда timeout в Linux
  2. Как использовать команду timeout
  3. Отправка определенного сигнала
  4. Удаление застрявших процессов
  5. Сохранение статуса выхода
  6. Бег на переднем плане
  7. Выводы
  8. 🐧 Как выполнить команду с ограничением по времени (таймаутом) в Linux
  9. Запустите команды Linux с помощью инструмента t imeout
  10. Запуск команд Linux с помощью программы Timelimit
  11. Заключение
  12. You may also like
  13. 🐧 Сравнение команд Printf и Echo на Linux
  14. 🐧 Что означает -z на Bash
  15. 🐧 Примеры команд size на Linux
  16. 🐧 Linux_Logo – вывод ASCII логотипа Linux с.
  17. 🐧 Параметры конфигурационного файла Apt /etc/apt/apt.conf
  18. 🐧 Разница между выключением, перезагрузкой и остановкой Linux
  19. ⌨️ Введение в команду “./configure”: Компиляция исходного кода.
  20. 🐧 Что такое /dev/zero на Linux?
  21. Каковы лучшие дистрибутивы Linux в 2022 году
  22. 🐧 Работа с переменной PATH на Linux. Это.
  23. Leave a Comment Cancel Reply
  24. • Свежие записи
  25. • Категории
  26. • Теги
  27. • itsecforu.ru
  28. • Страны посетителей
  29. IT is good
  30. Команда Linux timeout объяснение для начинающих (с примерами)
  31. Команда timeout Linux
  32. Вопрос 1. Как использовать команду timeout?
  33. Вопрос 2. Как получить статус вывода команды?
  34. Вопрос 3. Как изменить время ожидания сигнала?
  35. Вопрос 4. Как сделать так, чтобы тайм-аут автоматически отправлял сигнал KILL?
  36. Заключение
  37. You may also like
  38. Как подготовить ноутбук перед продажей и кому его.
  39. Как правильно оформить ипотеку на вторичное жильё?
  40. Лаки Джет онлайн игра.
  41. Можно ли выучить английский самостоятельно?
  42. Техническая поддержка сайта на 1С-Битрикс: ключевые направления и.
  43. Идеальные звуки: Всё, что нужно знать о лучших.
  44. Продукты СБИС — ваш путь к эффективному бизнесу.
  45. 🐧 Сравнение команд Printf и Echo на Linux
  46. Учите языки с играми для девочек онлайн!
  47. Одноразовые vs перезаправляемые картриджи для принтера – отличия
  48. Leave a Comment Cancel Reply
  49. • Свежие записи
  50. • Категории
  51. • Теги
  52. • itsecforu.ru
  53. • Страны посетителей
  54. IT is good

Команда timeout в Linux

timeout — это служебная программа командной строки, которая запускает указанную команду и завершает ее, если она все еще выполняется по истечении заданного периода времени. Другими словами, timeout позволяет запускать команду с ограничением по времени. Команда timeout является частью пакета основных утилит GNU, который устанавливается практически в любом дистрибутиве Linux.

Это удобно, когда вы хотите запустить команду, у которой нет встроенной опции тайм-аута.

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

Как использовать команду timeout

Синтаксис команды timeout следующий:

timeout [OPTIONS] DURATION COMMAND [ARG] 

DURATION может быть положительным целым числом или числом с плавающей запятой, за которым следует необязательный суффикс единицы измерения:

Если единица измерения не используется, по умолчанию используются секунды. Если продолжительность установлена на ноль, соответствующий тайм-аут отключен.

Параметры команды должны быть указаны перед аргументами.

Вот несколько основных примеров, демонстрирующих, как использовать команду timeout :

    Завершить команду через пять секунд:

Если вы хотите запустить команду, требующую повышенных привилегий, например tcpdump , добавьте sudo перед timeout :

sudo timeout 300 tcpdump -n -w data.pcap

Отправка определенного сигнала

Если сигнал не поступает, timeout отправляет сигнал SIGTERM управляемой команде по достижении лимита времени. Вы можете указать, какой сигнал отправлять, используя параметр -s ( —signal ).

Например, чтобы отправить SIGKILL команде ping через одну минуту, вы должны использовать:

sudo timeout -s SIGKILL ping 8.8.8.8

Вы можете указать сигнал по имени, например SIGKILL , или по его номеру, например 9 . Следующая команда идентична предыдущей:

sudo timeout -s 9 ping 8.8.8.8

Чтобы получить список всех доступных сигналов, используйте команду kill -l :

Читайте также:  Linux one line if statement

Удаление застрявших процессов

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

Чтобы убедиться, что отслеживаемая команда убита, используйте параметр -k ( —kill-after ), за которым следует период времени. Когда эта опция используется после достижения заданного временного лимита, команда timeout отправляет сигнал SIGKILL управляемой программе, который не может быть пойман или проигнорирован.

В следующем примере timeout запускает команду в течение одной минуты, и, если она не завершена, она уничтожит ее через десять секунд:

sudo timeout -k 10 1m ping 8.8.8.8

убит по истечении заданного времени

Сохранение статуса выхода

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

Чтобы вернуть статус выхода команды даже при достижении лимита времени, используйте параметр —preserve-status :

timeout --preserve-status 5 ping 8.8.8.8

Бег на переднем плане

По умолчанию timeout запускает управляемую команду в фоновом режиме. Если вы хотите запустить команду на переднем плане, используйте параметр —foreground :

timeout --foreground 5m ./script.sh

Эта опция полезна, когда вы хотите запустить интерактивную команду, требующую ввода данных пользователем.

Выводы

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

timeout — это простая команда, у которой не так много параметров. Обычно вы вызываете timeout только с двумя аргументами: длительностью и управляемой командой.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

🐧 Как выполнить команду с ограничением по времени (таймаутом) в Linux

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

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

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

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

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

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

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

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

timeout [OPTION] DURATION COMMAND [ARG].

Чтобы использовать команду, вы указываете значение времени ожидания (в секундах) для команды, которую хотите запустить, например, чтобы выполнять команду ping через 5 секунд, вы можете выполнить следующую команду.

# timeout 5s ping google.com

Иногда команды могут продолжать выполняться даже после того, как тайм-аут отправляет начальный сигнал, в таких случаях вы можете использовать опцию –kill-after.

Вам нужно указать продолжительность, чтобы 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 вы можете скачать исходный код и установить его вручную.

Читайте также:  Linux starting network interface

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

$ timelimit -t10 tail -f /var/log/pacman.log

Обратите внимание, что если вы не указываете аргументы, Timelimit использует значения по умолчанию: warntime = 3600 секунд, warnsig = 15, killtime = 120 и killsig = 9.

Заключение

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

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

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

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

itisgood
☸️ Как добавить рабочие ноды в кластеры Kubernetes
🐧 Исправляем ошибку ERROR: Unable to find the kernel source tree for the currently running kernel – CentOS / RHEL

You may also like

🐧 Сравнение команд Printf и Echo на Linux

🐧 Что означает -z на Bash

🐧 Примеры команд size на Linux

🐧 Linux_Logo – вывод ASCII логотипа Linux с.

🐧 Параметры конфигурационного файла Apt /etc/apt/apt.conf

🐧 Разница между выключением, перезагрузкой и остановкой Linux

⌨️ Введение в команду “./configure”: Компиляция исходного кода.

🐧 Что такое /dev/zero на Linux?

Каковы лучшие дистрибутивы Linux в 2022 году

🐧 Работа с переменной PATH на Linux. Это.

Leave a Comment Cancel Reply

• Свежие записи

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…

В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…

Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…

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

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

Источник

Команда Linux timeout объяснение для начинающих (с примерами)

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

Существует утилита командной строки – timeout – которая специально разработана для этой цели.

В этой статье мы обсудим основы этой команды на нескольких простых для понимания примерах.

Но прежде чем сделать это, стоит упомянуть, что все примеры в этом руководстве были протестированы на машине с Ubuntu 18.04 LTS.

Команда timeout Linux

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

Ниже приводится ее синтаксис:

timeout [OPTION] DURATION COMMAND [ARG]. 

Ниже приведены примеры в стиле вопрос / ответ, которые должны дать вам лучшее представление о том, как работает этот инструмент.

Вопрос 1. Как использовать команду timeout?

Основное использование довольно просто – просто запустите ‘timeout’, указав во входных данных значение времени ожидания (в секундах), а также команду, которую вы хотите выполнить.

Например, если вы хотите тайм-аут команды ping через 5 секунд, вот как вы можете использовать тайм-аут в этом случае.

timeout 5 ping itisgood.ru

Вопрос 2. Как получить статус вывода команды?

По умолчанию, если команда timeout успешна, она возвращает 124 в качестве состояния выхода. Ниже приведен пример:

Читайте также:  Linux узнать директорию файла

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

Однако во время второго запуска я принудительно убил команду, используя Ctrl + C, и в этом случае, статус выхода был 0.

Но в случае, если вы хотите, чтобы тайм-аут возвратил статус входной команды, даже если тайм-аут прошел успешно, вам придется использовать параметр командной строки –preserve-status.

timeout --preserve-status 5 ping google.com

Вопрос 3. Как изменить время ожидания сигнала?

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

По умолчанию SIGTERM используется командой.

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

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

timeout -s SIGKILL [COMMAND]

Чтобы получить список доступных сигналов, которые вы можете отправить, выполните следующую команду:

Вопрос 4. Как сделать так, чтобы тайм-аут автоматически отправлял сигнал KILL?

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

Для подобных случаев timeout предлагает опцию –kill-after.

Вот как man-страница объясняет это:

-k, --kill-after=DURATION also send a KILL signal if COMMAND is still running this long after the initial signal was sent

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

Заключение

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

Здесь, в этом руководстве, мы обсудили большинство вариантов, предлагаемых этой утилитой.

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

itisgood
Почему Linux загружается и выключается быстрее, чем Windows
Как отключить USB-устройства в Windows 10

You may also like

Как подготовить ноутбук перед продажей и кому его.

Как правильно оформить ипотеку на вторичное жильё?

Лаки Джет онлайн игра.

Можно ли выучить английский самостоятельно?

Техническая поддержка сайта на 1С-Битрикс: ключевые направления и.

Идеальные звуки: Всё, что нужно знать о лучших.

Продукты СБИС — ваш путь к эффективному бизнесу.

🐧 Сравнение команд Printf и Echo на Linux

Учите языки с играми для девочек онлайн!

Одноразовые vs перезаправляемые картриджи для принтера – отличия

Leave a Comment Cancel Reply

• Свежие записи

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…

В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…

Продажа ноутбука нередко становится хлопотным занятием. Кроме поиска покупателя, продавцу необходимо подготовить устройство перед проведением сделки. Но если последовательно выполнить все шаги, ничего…

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

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

Источник

Оцените статью
Adblock
detector