Архив метки: Linux

Timeout команды в Linux

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




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




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




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




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




timeout [OPTIONS] DURATION COMMAND [ARG]…




Копировать




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




  • s— секунды (по умолчанию)
  • m— минут
  • h— часы
  • d— дней




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




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




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




  • Завершить команду через пять секунд:timeout 5 ping 8.8.8.8Копировать
  • Завершить команду через пять минут:timeout 5m ping 8.8.8.8Копировать
  • Завершить команду через одну минуту и ​​шесть секунд:timeout 1.1m ping 8.8.8.8Копировать




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




kill -l




Уничтожение зависших процессов




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




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




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




sudo timeout -k 10 1m ping 8.8.8.8




тайм-аут -k «./test.sh»




убит после достижения заданного срока




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




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




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




timeout --preserve-status 5 ping 8.8.8.8




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




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




timeout --foreground 5m ./script.sh




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




Вывод




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




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




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



2022-06-13T23:55:52
Утилиты командной строки

Они разработали метод идентификации и отслеживания телефонов с помощью сигналов Bluetooth. 

Группа исследователей из Калифорнийского университета в Сан-Диего разработал метод идентификации мобильных устройств через знаки ипередается по воздуху через Bluetooth с низким энергопотреблением (BLE) и используется пассивными приемниками Bluetooth для обнаружения появления новых устройств в радиусе действия.

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



Читать

Инициатива Google позволяет бесплатно производить тестовые партии открытых чипов

Недавно Новости сломали, что Google объединился с производственные компании SkyWater Technology и Efabless запускают инициативу это позволяет разработчикам оборудования с открытым исходным кодом свободно создавать чипы, которые они разрабатывают.

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



Читать

Изучение SSH: установочные и конфигурационные файлы

Изучение SSH: установочные и конфигурационные файлы

Изучение SSH: установочные и конфигурационные файлы


В недавнем посте о SSH и OpenSSH, мы обращаемся к наиболее существенной теории, которую необходимо знать об этом технология и программа. Между тем, в этом посте сегодня мы углубимся в его установкаи их файлы базовая настройка, чтобы продолжить « изучение SSH».

Затем, в следующих частях, мы рассмотрим некоторые передовой опыт (рекомендации) ток, при изготовлении основные и дополнительные настройки. А также, о применении некоторых простые и сложные команды посредством указанной технологии. Используя для этого многие практические и реальные примеры.



Читать

Управление пользователями в Linux: как это сделать с помощью терминала?

Управление пользователями в Linux: как это сделать с помощью терминала?

Управление пользователями в Linux: как это сделать с помощью терминала?

Без сомнения, один из первых шагов, который обычно делается при установке и использовании любого Платформавключая GNU / Linux, как для серверных компьютеров, так и для настольных компьютеров, является создание учетных записей пользователей.

И используются ли они графические инструменты (GUI) Или терминальные инструменты (CLI) для управления учетными записями пользователей в Linux идеальным всегда будет знать и выполнять эти задачи через командную строку. Именно поэтому сегодня мы затронем тему «Управление пользователями в Linux.



Читать

Новая версия PowerDNS Resource 4.7 уже выпущена

Недавно запуск новой версии DNS-кэширование Ресурс PowerDNS 4.7, который отвечает за рекурсивное разрешение имен. PowerDNS Recursor основан на той же кодовой базе, что и PowerDNS Authoritative Server, но PowerDNS Recursive и Authoritative DNS-серверы разрабатываются в рамках разных циклов разработки и выпускаются как отдельные продукты.

обслуживаемыйr предоставляет инструменты для удаленного сбора статистики, поддерживает мгновенную перезагрузку, имеет встроенный движок для подключения драйверов на языке Lua, полностью поддерживает DNSSEC, DNS64, RPZ (зоны политики ответа), позволяет подключаться к черным спискам.



Читать