англійськафранцузькаіспанська

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 рядок] [-l] [-n Num] [-o ім'я файлу] [-O рядок]
[-p ім'я файлу] [-t Num] [-T Num] [-v Num] [-V] [ім'я файлу]

ОПИС


Cstream фільтрує потоки даних, подібно до інструменту UNIX dd(1). Він має більш традиційний
Синтаксис командного рядка, підтримка точного обмеження пропускної здатності, звітування та підтримка
FIFO. Обмеження даних і розрахунок пропускної здатності працюватимуть для файлів > 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 була скомпільована (за замовчуванням), ім’я хоста:номер порту спробує це зробити
підключіться до вказаного хосту за вказаним портом, і :portnumber відкриє a
TCP-сокет на локальній машині та дочекайтеся з’єднання. БЕЗПЕКА
ПРИМІТКА: cstream не містить механізму обмеження хостів, які можуть підключатися до нього
порт. Якщо на вашій машині немає інших мережевих фільтрів, будь-хто зможе це зробити
підключити.

-I рядок

-O рядок
Вкажіть тип вхідного та вихідного файлу відповідно.
Якщо рядок
включає 'f', буде створено fifo.
Якщо рядок
включає 'a', буде вважатися, що файл є сумісним з opensound аудіо
пристрій і буде переключено на налаштування, схожі на компакт-диск.
Якщо рядок
включає 't', копія потоку буде надіслана в дескриптор файлу 3.
Якщо рядок
включає 'N', TCP не використовуватиметься для цього файлу, навіть якщо ім'я містить ":".

-l Включіть кількість рядків у статистику.

-n Num Обмежте загальну кількість даних Num. Якщо буде більше вхідних даних, це буде
бути відкинутим, cstream вийде після досягнення ліміту. Якщо менше
введення, обмеження не буде досягнуто, і не буде сигналізовано про помилку.

Num може мати кінцеві 'k', 'm' або 'g', що означає кілобайти, мегабайти або
Гігабайти (де Kilo = 1024). Це стосується всіх числових параметрів.

-p ім'я файлу
Запишіть ідентифікатор процесу cstream до ім'я файлу. Якщо cstream використовує окремий записувач
процес (опція -c), це pid батьківського процесу (читача).

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

-T Num Пропускна здатність звіту кожні кількість секунд.

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

-V Надрукуйте номер версії на стандартний вихід і вийдіть з 0.

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

SIGUSR1

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

SIGUSR2 Вийдіть і звітуйте про швидкість пропускної здатності, якщо потрібно.

ЗДИХАННЯ Я виявив, що надто часто надсилаю SIGHUP випадково. Але ігнорування чи зловживання
SIGHUP для мене не варіант. Таким чином, коли cstream отримано SIGHUP, він чекатиме 5
секунд для іншого SIGHUP, щоб дати користувачам можливість виправити можливу помилку.
Якщо додатковий SIGHUP не отримано, cstream вбиває себе за допомогою SIGHUP.

ПРИКЛАДИ


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

cstream -i файл tmp -v 1 -n 384m -o -
Прочитайте той самий файл назад і видаліть дані.

cstream -b 2000 -t 10000 / var / log / messages
Відображатиме файл із більш-менш доступною швидкістю.

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

вбивати -ЄДР1 `кіт pidfile`
Запишіть вихід з дамп(1) на стрічку. Кожен раз, коли посилається сигнал, пропускна здатність
і буде відображатися поточна швидкість передачі даних.

cstream -t 176400 -i /dev/dsp0 -I f -o -
Створює свого роду емулятор звукової карти, який можна використовувати для тестування аудіододатків
потрібно щось для запису, що обмежує швидкість передачі даних, як це робить справжня звукова карта. Це
очевидно, не працює, коли програма намагається записати дані за допомогою mmap(2) і
програма повинна ігнорувати помилки, коли вона намагається встановити параметри звукової карти за допомогою
йоктл(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 (у попередньому прикладі аудіо, як правило, a
CD-аудіозапис, як ви отримуєте з утиліт tosha або cdparanoia).

cstream -OD -o мій файл

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

cstream -i : 3333 | dd obs=8192 | ./cstream -omyfile -v7 -OD
Це те, що вам потрібно зробити, щоб буферизувати введення 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 досить складний. Він повернеться до нормального стану
Помилки введення-виведення. Але перед цим він знає про обидві вимоги до розміру блоків файлової системи
(за замовчуванням розмір блоку вводу-виводу буде відповідати будь-якій файловій системі вихідного файлу) і сторінку
вимоги до вирівнювання (ввод-вивод буде здійснюватися з буфера, вирівняного сторінкою). Однак,
комбінація одночасного читання/запису (опції -c) і O_DIRECT не була перевірена далі
базова перевірка того, що деякі тести пройшли правильно.

Використовуйте cstream онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    глибоко чистий
    глибоко чистий
    Сценарій Kotlin, який руйнує всю збірку
    кеші з проектів Gradle/Android.
    Корисно, коли Gradle або IDE дозволяють
    вниз. Сценарій протестовано на
    macOS, але...
    Завантажити deep-clean
  • 2
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    інтегрує код Java Checkstyle
    аудитора в IDE Eclipse. The
    плагін забезпечує зворотний зв’язок у режимі реального часу
    користувач про насильство...
    Завантажте плагін Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player — безкоштовний медіаплеєр
    програмне забезпечення, частина на основі WMP і VLC. The
    плеєр в мінімалістичному стилі, с
    більше десяти кольорів теми, а також можна
    б ...
    Завантажити AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV є ДОДАТКОМ для XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar інтегрований в один із одним
    медіацентри ма...
    Завантажити movistartv
  • 5
    Код :: Блоки
    Код :: Блоки
    Code::Blocks — безкоштовна програма з відкритим кодом,
    кросплатформенний C, C++ і Fortran IDE
    створений для задоволення найвимогливіших потреб
    своїх користувачів. Він розроблений, щоб бути дуже
    подовжує ...
    Завантажити Code::Blocks
  • 6
    Серед
    Серед
    Серед або розширений інтерфейс Minecraft
    а відстеження даних/структури є інструментом для
    відобразити огляд Minecraft
    світу, фактично не створюючи його. Це
    може ...
    Завантажити Midst
  • Детальніше »

Команди Linux

Ad