АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

cstream - Онлайн в облаке

Запустите cstream в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда cstream, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


cstream - прямые потоки данных с ограничением пропускной способности, FIFO, аудио, дублирование и
расширенная поддержка отчетов.

СИНТАКСИС


cstream [-b Num] [-B Num] [-i имя файла] [-I string] [-l] [-n Num] [-o имя файла] [-O string]
[-p имя файла] [-t Num] [-T Num] [-v Num] [-V] [имя файла]

ОПИСАНИЕ


Cstream фильтрует потоки данных, как инструмент UNIX dd(1). Он имеет более традиционный
синтаксис командной строки, поддержка точного ограничения пропускной способности и отчетности, а также поддержка
ФИФО. Расчет пределов данных и пропускной способности будет работать для файлов размером> 4 ГБ.

Cstream читает из стандартного ввода и записывает в стандартный вывод, если имена файлов не указаны.
данный. При желании он также будет «генерировать» или «принимать» данные.

Опции:

-b Num Установите размер блока, используемого для чтения / записи, в Num. По умолчанию 8192 байта.

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

-c Num Параллельная работа. Используйте отдельный процесс для вывода. Это особенно полезно
в сочетании с опцией -B.
0 = использовать только один процесс (по умолчанию)
1 = процесс чтения буферизируется
2 = процесс записи буферизируется
3 = оба процесса буферизируются.
В сочетании с большим размером буфера это часто загружает вашу память.
сильно, каждый раз, когда считыватель передает собранный им буфер в
писатель. Если вы используете -c 3 и имеете размер буфера 128 мегабайт 256 МБ
память будет затронута сразу.

-i Num

-o Num Задайте имена файлов, которые будут использоваться для ввода или вывода соответственно. Если выходной файл
имя "-", данные будут просто отброшены. Если имя входного файла "-", данные будут
быть сгенерированным «из пустоты». Если эти параметры не указаны, stdin / stout будет
использовал. Если тебе нужно дать -o or -i параметры и хотите stdin / stdout, укажите
пустая строка, например:

cstream -i ''

Если поддержка TCP была скомпилирована (по умолчанию), hostname: portnumber будет пытаться
подключиться к указанному хосту на указанном порту, и: номер порта откроет
TCP-сокет на локальном компьютере и дождитесь установления соединения. БЕЗОПАСНОСТЬ
ПРИМЕЧАНИЕ: cstream не имеет механизма для ограничения хостов, которые могут подключаться к этому.
порт. Если на вашем компьютере нет других сетевых фильтров, любой сможет
подключения.

-I string

-O string
Укажите тип входного и выходного файла соответственно.
Если строка
включает 'f', будет создан фифо.
Если строка
включает 'a', предполагается, что файл является аудио, совместимым с OpenSound.
устройство и будет переключено на настройки, подобные компакт-диску.
Если строка
включает 't', копия потока будет отправлена ​​в файловый дескриптор 3.
Если строка
включает 'N', TCP не будет использоваться для этого файла, даже если в имени есть ":".

-l Включите количество строк в статистику.

-n Num Ограничьте общий объем данных до Num. Если есть больше входных данных, он будет
быть отброшенным, cstream выйдет после достижения лимита. Если меньше
ввод, предел не будет достигнут, и не будет сообщений об ошибке.

Num может иметь в конце "k", "m" или "g", что означает килобайты, мегабайты или
Гигабайты (где Кило = 1024). Это относится ко всем числовым параметрам.

-p имя файла
Запишите идентификатор процесса cstream в имя файла. Если cstream использует отдельный писатель
process (опция -c), это pid родительского (читающего) процесса.

-t Num Ограничьте пропускную способность потока данных до Num байтов в секунду. Ограничение осуществляется в
со стороны ввода, вы можете положиться на то, что cstream не принимает больше, чем это значение. Если
число, которое вы даете, положительное, cstream накапливает ошибки и пытается сохранить
общая ставка при указанном значении за весь сеанс. Если вы дадите отрицательный результат
число, это верхний предел для каждой пары системных вызовов чтения / записи. Другими словами:
отрицательное число никогда не превысит этот предел, положительное число превысит
это для компенсации предыдущего недоиспользования.

-T Num Сообщайте о пропускной способности каждые несколько секунд.

-v Num Установить уровень подробности на Num. По умолчанию установлено значение 0, что означает, что сообщения не отправляются.
отображается до тех пор, пока не возникают ошибки. Значение 1 означает, что общий объем данных
и пропускная способность будет отображаться в конце выполнения программы. Значение 2 означает
также будет сообщаться скорость передачи с момента окончания первой пары чтения / записи.
(полезно, когда есть начальная задержка). Значение 3 означает, что также будет
отдельные измерения для чтения и записи. Этот вариант ресурсоемкий и
в настоящее время не реализовано. Значение 4 означает, что уведомления о каждом сингле
чтение / запись будет отображаться. Высокие значения включают все типы сообщений с более низким
значения.

-V Вывести номер версии на стандартный вывод и выйти с 0.

имя файла Одно имя файла в качестве последнего аргумента без переключателя параметров будет использоваться как
входной файл, если -i не использовался.

СИГУСР1

СИГИНФО Отправка SIGUSR1 (или SIGINFO, который обычно отображается на Control-T на вашей клавиатуре)
to cstream заставляет его отображать пропускную способность для stderr. Поток будет
продолжайте как ни в чем не бывало.

СИГУСР2 Выйдите и сообщите о пропускной способности, если требуется.

ПОДПИСАТЬСЯ Я обнаружил, что слишком часто случайно отправляю SIGHUP. Но игнорирование или неправильное использование
SIGHUP для меня не вариант. Таким образом, когда cstream получил SIGHUP, он будет ждать 5
секунд для еще одного SIGHUP, чтобы дать пользователям возможность исправить возможную ошибку.
Если дополнительного SIGHUP не получено, cstream убивает себя с помощью SIGHUP.

ПРИМЕРЫ


cstream -o tmp-файл -v 1 -n 384m -i -
Записывает в файл 384 мегабайта неопределенных данных. tmp-файл и отображать подробный
пропускная способность. Делает хороший тест, скорость / DEV / нуль слишком сильно отличается от
система в систему.

cstream -i tmp-файл -v 1 -n 384m -o -
Прочтите тот же файл и удалите данные.

cstream -b 2000 -t 10000 / var / log / сообщения
Будет отображать файл с более или менее смотрибельной скоростью.

дамп 0sf 400000 - / | cstream -v 1 -b 32768 -o / dev / rst0 -p pid-файл

убивать -USR1 `кошка pidfile`
Запишите вывод из дамп(1) на ленту. Каждый раз при отправке сигнала пропускная способность
и скорость передачи данных будут отображаться.

cstream -t 176400 -i / dev / dsp0 -I f -o -
Делает своего рода эмулятор звуковой карты, который можно использовать для тестирования звуковых приложений, которые
нужно что-то записать, что ограничивает скорость передачи данных, как это делает настоящая звуковая карта. Этот
очевидно, не работает, когда приложение пытается записать данные, используя ММАП(2) и
приложение должно игнорировать ошибки, когда оно пытается установить параметры звуковой карты с помощью
IOCTL(2).

cstream -t 176400 -i / dev / dsp0 -I f -o / dev / dsp1 -O f
Аналогичный эмулятор звуковой карты, за исключением того, что он позволяет вам захватывать данные, которые вы
приложения отправляют ему из другого FIFO, сохраняя при этом точное время.

cstream -Оа -o / dev / dsp0 myhost.mydomain.com:17324
Подключает порт 3333 на хосте myhost.mydomain.com, и любые данные, которые он там найдет, будут
быть отправлено на звуковую карту с соответствующими настройками для воспроизведения стереозвука с качеством компакт-диска.

cstream -i myaudiofile.raw -o : 17324
Это откроет TCP-сервер на порту 17324 и будет ждать, пока кто-нибудь подключится (для
пример, командная строка из предыдущего примера). Затем он отправит содержимое
myaudiofile.raw вниз по потоку TCP (для предыдущего примера аудио обычно
CD-аудиодорожка, как у утилит tosha или cdparanoia).

cstream -ОД -o мой файл

Запишите в файл myfile с помощью O_DIRECT. Обычно это означает, что буфер файловой системы
cache не будет пытаться кэшировать этот файл. Вы можете использовать это, чтобы предотвратить копирование
операции от съедания физической памяти. Обратите внимание, что когда cstream встречает
ошибка записи, он переключит выходной файл из O_DIRECT в обычный файл и запишет
все последующие блоки без O_DIRECT, если запись без O_DIRECT завершается успешно. На практике
это обычно означает, что ваш последний блок, если не кратный блоку файловой системы
размер, все равно будет записан в файл (максимальный объем записываемых данных
без O_DIRECT ваш размер блока минус один). Таким образом, cstream гарантирует, что
выходной файл имеет длину входного файла, однако длина была нечетной и неважно
какие ограничения ваша ОС налагает на вывод O_DIRECT. Опять же, cstream * не * заполняет
вывод в размер блока, вы получите тот же файл и размер файла, как если бы не использовали
O_DIRECT, за счет переключения на не-O_DIRECT всякий раз, когда блок не подходит
размер.

cstream -i : 3333 | dd obs = 8192 | ./кстрим -omyfile -v7 -ОД
Это то, что вам нужно сделать для буферизации ввода TCP, чтобы последний cstream не
преждевременно переключиться с O_DIRECT из-за коротких чтений. Если ваш вклад может сделать
короткие чтения (например, из TCP), и вы хотите убедиться, что O_DIRECT остается в силе,
вам нужен буфер между потоком TCP и потоком O_DIRECT. Поскольку cstream
пока не поддерживает разные размеры входных и выходных блоков, здесь подходит dd.
Обратите внимание, что это необходимо только в том случае, если ОС требует, чтобы файловая система была кратной.
размер блока для O_DIRECT. На момент написания эта конструкция необходима для
Linux для использования TCP-потоков с O_DIRECT, но это не требуется во FreeBSD.

cstream -ОПЕРАЦИОННЫЕ СИСТЕМЫ -o мой файл
Записывает в файл myfile с помощью O_SYNC. Это означает, что к моменту возврата системного вызова
данные, как известно, находятся на диске. Это не то же самое, что O_DIRECT. O_DIRECT
может выполнять свою собственную буферизацию, с O_SYNC буферизация вообще отсутствует. В момент
при написании этой статьи O_SYNC как в Linux, так и во FreeBSD работает очень медленно (от 1/5 до 1/10 от
нормальная запись) и O_DIRECT достаточно быстро (от 1/4 до 1/2 нормальной записи). Ты
можно комбинировать O_SYNC и O_DIRECT.

ОШИБКИ


Код выхода 0 означает успех.

Код выхода 1 означает ошибку использования синтаксиса командной строки.

Код выхода 2 означает другие ошибки, особенно системные ошибки.

ошибки


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

Это не ошибка: код для выполнения O_DIRECT достаточно сложен. Он вернется в норму
Ввод-вывод при ошибках. Но перед этим он знает о требованиях к размеру блоков файловой системы.
(по умолчанию размер блока ввода-вывода будет соответствовать файловой системе выходного файла) и page
требования к выравниванию (ввод-вывод будет происходить из буфера, выровненного по страницам). Однако
комбинация одновременного чтения / записи (параметры -c) и O_DIRECT не тестировалась, кроме
базовая проверка правильности некоторых тестов.

Используйте cstream онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    глубокая очистка
    глубокая очистка
    Скрипт Kotlin, уничтожающий все сборки
    кеши из проектов Gradle/Android.
    Полезно, когда Gradle или IDE позволяют
    вниз. Скрипт протестирован на
    макОС, но...
    Скачать глубокую очистку
  • 2
    Подключаемый модуль Eclipse Checkstyle
    Подключаемый модуль Eclipse Checkstyle
    Плагин Eclipse Checkstyle
    интегрирует Java-код Checkstyle
    аудитор в Eclipse IDE. В
    плагин предоставляет обратную связь в режиме реального времени
    пользователь о нарушении ...
    Скачать подключаемый модуль Eclipse Checkstyle
  • 3
    АстрОрзПлеер
    АстрОрзПлеер
    AstrOrz Player — бесплатный медиаплеер.
    программное обеспечение, частично основанное на WMP и VLC.
    плеер выполнен в минималистическом стиле, с
    более десяти цветов темы, а также может
    б ...
    Скачать AstrOrzPlayer
  • 4
    Movistartv
    Movistartv
    Kodi Movistar+ TV является дополнением для XBMC/
    Коди, разрешенный к использованию
    decodificador de los servicios IPTV де
    Movistar интегрирован в один город
    медиацентры ма...
    Скачать киностартв
  • 5
    Code :: Blocks
    Code :: Blocks
    Code::Blocks — это бесплатная программа с открытым исходным кодом,
    кроссплатформенная C, C++ и Fortran IDE
    построен для удовлетворения самых взыскательных потребностей
    своих пользователей. Он разработан, чтобы быть очень
    расширенный ...
    Код загрузки::Блоки
  • 6
    среди
    среди
    Среда или расширенный интерфейс Minecraft
    и отслеживание данных / структуры - это инструмент для
    отобразить обзор Minecraft
    мир, фактически не создавая его. Это
    жестяная банка ...
    Скачать Среди
  • Больше »

Команды Linux

Ad