По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Вот вы пользователь Linux машины. И вот вам захотелось запустить какую-нибудь команду только на определенное время, и вы задаете вопрос - как это сделать? А вот как - использовать команду timeout. Как взять timeout - об использовании команды Базовый синтаксис Как и следовало ожидать, синтакс у команды экстремально прост: сама команда timeout - опции - длительность выполнения (можно даже с единицами измерения) - целевая команда Единицы измерения для указания длительности: s - секунды (­стоит по умолчанию) m - минуты h - часы d - дни Если вы не укажете никакого параметра по длительности, команда не будет активирована. Примеры команд: timeout 5 ping 1.1.1.1 - пингуем 1.1.1.1 5 секунд timeout 5m ping 1.1.1.1 - пингуем 1.1.1 5 минут timeout 5.5h ping 1.1.1.1 - 5,5 часов пингуем 1.1.1 Если у вас есть необходимость, можно запустить команду с добавкой sudo (если для целевой команды требуются права суперпользователя): sudo timeout 100 tcpdump -n -w dump.pcap Сообщение с космосом или отправка определенного сигнала исполняемому процессу Если вы не указали какой-то особый сигнал, по умолчанию передается SIGTERM (сигнал о том, что надо бы мягко терминировать процесс). Однако, если вы укажете ключ -s после команды timeout, вы можете указать любой другой допустимый сигнал. К примеру: sudo timeout -s SIGKILL ping 1.1.1.1 или sudo timeout -s 9 ping 1.1.1.1 Обе команды выше идентичны, и если вы хотите увидеть весь список сигналов, просто введите kill -l Как убить процесс, если он завис Как вы уже поняли, SIGTERM - это сигнал, который отправляется после истечения таймаута, но он легко может быть проигнорирован процессом, и тогда процесс не остановится. Для уверенности в смерти процесса, нужно использовать ключ -k и некое временное значение. Тогда после окончания таймаута будет отправляться сигнал SIGKILL, который процесс не сможет проигнорировать при всем желании. В примере ниже команда выполняется одну минуту, и, если в течение 10 секунд после окончания таймаута она не "умирает", отправляется сигнал SIGKILL и "добивает" процесс: sudo timeout -k 10 1m ping 1.1.1.1 Сохраняем статус Команда timeout всегда возвращает значение 124 после истечения указанного времени или возвращает статус "exit" управляемой команды (той, что вы вводите после команды timeout). Таким образом, вы можете использовать ключ --preserve-status: timeout --preserve-status 10 ping 1.1.1.1 Запуск команды явно, а не за кулисами По умолчанию, timout работает в бэкграунде, и если вы хотите обратного (вдруг после запуска управляемой команды потребуется какой-нибудь пользовательский ввод), нужно использовать ключ -foreground: timeout --foreground 10m ./bestscripteva.sh Заключение В 99% процентов случаев команда timeout требует всего двух аргументов и ни одного факта: времени исполнения и самой исполняемой команды. Однако, вы теперь знаете и другие фишки использования этой замечательной команды.
img
Когда мы, разговаривая по IP телефону, слышим голос собеседника в трубке, или, используя систему видеоконференцсвязи, общаемся со своими коллегами и родственниками, то обмениваемся непрерывным потоком данных. При передаче потоковых данных, таких как голос и видео через пакетную сеть, очень важно использовать такие механизмы, которые решали бы следующие задачи: Устранение эффекта потери пакетов Восстановление порядка и контроль поступления пакетов Сглаживание эффекта задержки (джиттера) Именно для этих целей был разработан RTP (Real-time Transport Protocol) - протокол передачи в реальном времени, о котором пойдет речь в сегодняшней статье. Протокол разрабатывался в IETF группой Audio-Video Transport Working Group и описывается в рекомендации RFC 3550. Как правило, RTP работает поверх протокола UDP (User Datagram Protocol), так как при передаче мультимедийных данных очень важно обеспечить их своевременную доставку. RTP включает возможность определения типа полезной нагрузки и назначения последовательного номера пакета в потоке, а также применение временных меток. На передающей стороне каждый пакет помечается временной меткой, принимающая сторона получает ее и определяет суммарную задержку, после чего вычисляется разница в суммарных задержках и определяется джиттер. Таким образом, появляется возможность установить постоянную задержку выдачи пакетов и тем самым снизить влияние джиттера. Ещё одна функция RTP связана с возможными потерями пакетов при прохождении по IP сети, что выражается в появлении кратковременных пауз в разговоре. Внезапная тишина в телефонной трубке, как правило, очень негативно действует на слушателя, поэтому возможностями протокола RTP такие периоды тишины заполняются, так называемым,“комфортным шумом” RTP работает в связке с еще одним протоколом IETF, а именно RTCP (Real - time Transport Control Protocol), который описывается в RFC 3550. RTCP предназначен для сбора статистической информации, определения качества обслуживания QoS (Quality of Service), а также для синхронизации между медиа потоками RTP-сессии. Основная функция RTCP – установление обратной связи с приложением для отчета о качестве получаемой информации. Участники RTCP сессии обмениваются сведениями о числе полученных и утраченных пакетов, значении джиттера, задержке и т.д. На основе анализа этой информации принимается решение об изменении параметров передачи, например, для уменьшения коэффициента сжатия информации с целью улучшения качества ее передачи. Для выполнения этих функций RTCP передает специальные сообщения определенных типов: SR - Sender Report - отчёт источника со статистической информацией о RTP сессии RR - Receiver Report - отчёт получателя со статистической информацией о RTP сессии SDES - содержит описание параметров источника, включая cname (имя пользователя) BYE – Инициирует завершение участия в группе APP - Описание функций приложения RTP является протоколом однонаправленного действия, поэтому для организации двусторонней связи необходимо две RTP сессии, по одной с каждой стороны. RTP-сессия определяется IP адресами участников, а также парой незарезервированных UDP портов из диапазона 16384 - 32767. Кроме того, для организации обратной связи с приложением необходимо также установить двустороннюю RTCP сессию. Для RTCP сессии занимаются порты с номером на единицу большим чем RTP. Так например, если для RTP выбран 19554 порт, то RTCP сессия займет 19555 порт. Наглядно формирование RTP/RTCP сессии представлено на рисунке ниже. Стоит также отметить, что сам протокол RTP не имеет механизмов для самостоятельного установления сессии, эта задачу выполняют протоколы сигнализации, такие как SIP,H.323,SCCP , которые мы подробно рассматривали в предыдущих статьях.
img
Распределенная архитектура IP – АТС Asterisk привлекательна своей локальной отказоустойчивостью по сравнению с централизованной. Например, если у вас установлен единичный экземпляр АТС в центральном офисе, а филиалы подключены через VPN, то при отказе без связи останутся все. С другой стороны, если в каждой филиале имеется собственная IP – АТС Asterisk, при отказе филиальной АТС без связи остается только филиал. У администраторов возникает вполне логичный вопрос – как объединить между собой все экземпляры IP – АТС в единую корпоративную систему связи? У нас есть ответ. О том, как объединить несколько IP – АТС Asterisk по протоколу IAX расскажем в статье. Конфигурация будет произведена с помощью графического интерфейса FreePBX 13. Пошаговое видео Сценарий Представим, что вы честный системный администратор в компании, занимающейся производством мебели. У компании есть центральный офис в Москве и производство в Новосибирске. На уровне L3 сетевая связность между локальными сетями офисов обеспечена технологией VPN. В Московском офисе мы используем нумерацию 1XX (100-199), а в Новосибирске 2XX (200-299). Для корректной настройки от нас потребуется создать 2 IAX транка на каждом из филиалов и создать соответствующие маршрута. IP – адресация на нашем стенде следующая: Москва - 192.168.1.67 Новосибирск - 192.168.1.68 Настройки Московского филиала Приступаем к настройке Московского филиала. Переходим в раздел Connectivity → Trunks и добавляем новый IAX транк нажатием +Add Trunk → Add IAX2 Trunk. В поле Trunk Name вкладки Outgoing вводим novosib, а в сегменте PERR Details вносим следующие настройки: username=novosib host=192.168.1.68 type=peer secret=wikimerion qualify=yes context=from-trunk disallow=all allow=alaw После настройки исходящих параметров, приступаем к настройке входящих для Московского филиала. Открываем вкладку Incoming. В поле User Context укажите moscow, а в разделе следующие настройки: host=192.168.1.68 type=user secret=wikimerion qualify=yes context=from-internal disallow=all allow=alaw Нажимаем Submit. Переходим к настройке исходящего маршрута в Московском филиале. Нам нужно будет осуществлять звонки с 1XX на 2XX номера, следовательно, в шаблоне набора мы укажем IP – АТС Asterisk отправлять все вызовы, в которых пользователи набрали трехзначный номер начинающийся с двойки в транк до Новосибирска. Переходим в раздел Connectivity → Outbound Routes и нажимаем + Add Outbound Route: После указания настроек нажимаем Submit и Apply Config Настройки Новосибирского филиала Теперь произведем необходимые настройки для филиала в Новосибирске. Переходим по пути Connectivity → Trunks → +Add Trunk → Add IAX2 Trunk. В Outgoing секции указываем имя moscow и следующие параметры: username=moscow host=192.168.1.67 type=peer secret=wikimerion qualify=yes context=from-trunk disallow=all allow=alaw Теперь в секции Incoming указываем контекст novosib и следующие опции конфигурации: host=192.168.1.67 type=user secret=wikimerion qualify=yes context=from-internal disallow=all allow=alaw Делаем исходящий маршрут для звонков в Москву. Переходим в Connectivity → Outbound Routes и нажимаем + Add Outbound Route: Нажимаем Submit и Apply Config Проверка Для проверки наших настроек, в каждом из филиалов дадим команду iax2 show peers. Как видим, наши транки в статусе OK Теперь, при звонках с московских внутренних номеров, которые зарегистрированы на московской IP – АТС Asterisk в сторону новосибирского филиала на номера вида 2XX, мы сможем дозвониться, и, что самое главное, на телефонах принимающей стороны будет виден внутренний номер звонящего.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59