EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

cstream - Online în cloud

Rulați cstream în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda cstream care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


cstream — fluxuri de date directe, cu limitare a lățimii de bandă, FIFO, audio, duplicare și
suport extins de raportare.

REZUMAT


cstream [-b o] [-B o] [-i nume de fișier] [-I şir] [-l] [-n o] [-o nume de fișier] [-O şir]
[-p nume de fișier] [-t o] [-T o] [-v o] [-V] [nume de fișier]

DESCRIERE


Cstream filtrează fluxurile de date, la fel ca instrumentul UNIX dd(1). Are un aspect mai tradițional
sintaxa liniei de comandă, suport pentru limitarea precisă a lățimii de bandă și raportare și suport pentru
FIFO-uri. Limitele de date și calculul ratei de debit vor funcționa pentru fișiere > 4 GB.

Cstream citește de la intrarea standard și scrie în ieșirea standard, dacă nu există nume de fișiere
dat. De asemenea, va „genera” sau „cufunda” date dacă se dorește.

Opțiuni:

-b o Setați dimensiunea blocului utilizat pentru citire/scriere o. Valoarea implicită este de 8192 de octeți.

-B o Intrare tampon până la o octeți înainte de scriere. Valoarea implicită este dimensiunea blocului. Este
o eroare pentru a seta acest lucru la orice sub dimensiunea blocului. Util atunci când scrieți benzi
și similare care preferă puține scrieri mari de multe mici.

-c o Operare concomitentă. Utilizați un proces separat pentru ieșire. Acest lucru este deosebit de util
în combinație cu opțiunea -B.
0 = utilizați un singur proces (implicit)
1 = procesul de citire va fi tampon
2 = procesul de scriere va fi tamponat
3 = ambele procese vor fi tamponate.
În combinație cu o dimensiune mare a tamponului, aceasta vă va încărca adesea memoria
în mare măsură, de fiecare dată când cititorul transferă tamponul colectat în
scriitor. Dacă utilizați -c 3 și aveți o dimensiune a memoriei tampon de 128 Megaocteți, 256 MB de
memoria va fi atinsă imediat.

-i o

-o o Setați numele fișierelor de utilizat pentru intrare sau, respectiv, ieșire. Dacă fișierul de ieșire
numele este „-”, datele vor fi doar eliminate. Dacă numele fișierului de intrare este „-”, datele vor fi
să fie generat „din vid”. Dacă aceste opțiuni nu sunt date, stdin/stout va fi
folosit. Dacă trebuie să dai -o or -i opțiuni și doriți stdin/stdout, specificați
șir gol, așa:

cstream -i''

Dacă suportul TCP a fost compilat în (implicit), hostname:portnumber va încerca
conectați-vă la gazda specificată la portul specificat și :portnumber va deschide a
socketul TCP pe mașina locală și așteptați să sosească o conexiune. SECURITATE
NOTĂ: cstream nu include niciun mecanism pentru a restricționa gazdele care se pot conecta la acesta
port. Cu excepția cazului în care aparatul dvs. are alte filtre de rețea, oricine va putea
conectați.

-I şir

-O şir
Specificați tipul fișierului de intrare și respectiv de ieșire.
Dacă șir
include „f”, va fi creat un fifo.
Dacă șir
include „a”, fișierul se va presupune a fi un sunet compatibil cu opensound
dispozitiv și va fi comutat la setări asemănătoare CD-ului.
Dacă șir
include „t”, o copie a fluxului va fi trimisă la descriptorul de fișier 3.
Dacă șir
include „N”, TCP nu va fi folosit pentru acel fișier chiar dacă numele are un „:”.

-l Includeți numărul de linii în statistici.

-n o Limitați cantitatea totală de date la o. Dacă există mai multe intrări disponibile, va fi
fi aruncat, cstream va ieși după ce limita a fost atinsă. Daca este mai putin
intrare, limita nu va fi atinsă și nu va fi semnalată nicio eroare.

o poate avea un „k”, „m” sau „g”, care înseamnă Kilobytes, Megabytes sau
Gigabytes (unde Kilo = 1024). Acest lucru se aplică tuturor opțiunilor numerice.

-p nume de fișier
Scrieți id-ul de proces al cstream la nume de fișier. Dacă cstream folosește un writer separat
proces (opțiunea -c), acesta este pid-ul procesului părinte (cititor).

-t o Limitați debitul fluxului de date la o octeți/secundă. Limitarea se face la
pe partea de intrare, vă puteți baza pe cstream care nu acceptă mai mult decât această rată. Dacă
numărul pe care îl dați este pozitiv, cstream acumulează erori și încearcă să păstreze
rata totală la valoarea specificată, pentru întreaga sesiune. Dacă dai un negativ
număr, este o limită superioară pentru fiecare pereche de apeluri de sistem de citire/scriere. Cu alte cuvinte:
numărul negativ nu va depăși niciodată această limită, numărul pozitiv va depăși
pentru a face bine pentru subutilizarea anterioară.

-T o Raportați debitul la fiecare num secunde.

-v o Setați nivelul de probă la o. În mod implicit, este setat la 0, ceea ce înseamnă că nu există mesaje
afișat atâta timp cât nu apar erori. O valoare de 1 înseamnă acea cantitate totală de date
iar debitul va fi afișat la sfârșitul rulării programului. O valoare de 2 înseamnă
va fi raportată și rata de transfer de la sfârșitul primei perechi de citire/scriere
(util când există o întârziere inițială). O valoare de 3 înseamnă că va exista și
măsurători separate pentru citire și scriere. Această opțiune consumă resurse și
momentan nu este implementat. O valoare de 4 înseamnă că notificări despre fiecare
va fi afișat citire/scriere. Valorile ridicate includ toate tipurile de mesaje și mai mici
valori.

-V Tipăriți numărul versiunii la stdout și ieșiți cu 0.

nume de fișier Un singur nume de fișier ca ultimul argument fără un comutator de opțiune va fi folosit ca
fișier de intrare dacă -i nu a fost folosit.

SIGUSR1

SIGINFO Se trimite SIGUSR1 (sau SIGINFO, care este de obicei mapat la Control-T de pe tastatura ta)
to cstream face ca acesta să afișeze ratele de debit la stderr. Fluxul va
continua ca si cum nimic nu s-ar fi intamplat.

SIGUSR2 Ieșiți și raportați ratele de producție, dacă sunt solicitate.

LUMEA M-am trezit că trimit SIGHUP accidental prea des. Dar ignorarea sau utilizarea greșită
SIGHUP nu este o opțiune pentru mine. Astfel, când cstream primit SIGHUP, va aștepta 5
secunde pentru un alt SIGHUP, pentru a oferi utilizatorilor șansa de a corecta o posibilă greșeală.
Dacă nu se primește niciun SIGHUP suplimentar, cstream se sinucide cu SIGHUP.

EXEMPLE


cstream -o tmpfile -v 1 -n 384m -i -
Scrie 384 Megaocteți de date nespecificate în fișier tmpfile și afișați pronunțat
rata de transfer. Face un punct de referință bun, viteza de / Dev / null variază prea mult de la
sistem la sistem.

cstream -i tmpfile -v 1 -n 384m -o -
Citiți înapoi același fișier și eliminați datele.

cstream -b 2000 -t 10000 / var / log / messages
Va afișa fișierul cu o viteză mai mult sau mai puțin vizionabilă.

descărca 0sf 400000 - / | cstream -v 1 -b 32768 -o /dev/rst0 -p pidfile

ucide -USR1 `pisica pidfile`
Scrieți rezultatul de la descărca(1) a înregistra. De fiecare dată când semnalul este trimis, debitul
și rata de date de până acum va fi afișată.

cstream -t 176400 -i /dev/dsp0 -I f -o -
Face un fel de emulator de placă de sunet care poate fi folosit pentru a testa aplicațiile audio care
trebuie să scrieți ceva care să limiteze rata de date, așa cum o face o placă de sunet reală. Acest
evident că nu funcționează când aplicația încearcă să scrie date folosind mmap(2) și
aplicația trebuie să ignore erorile atunci când încearcă să seteze parametrii plăcii de sunet folosind
ioctls(2).

cstream -t 176400 -i /dev/dsp0 -I f -o /dev/dsp1 -O f
Emulator similar de placă de sunet, cu excepția faptului că vă permite să preluați datele dvs
aplicațiile îi trimit de la celălalt fifo, având totuși o sincronizare precisă.

cstream -Oa -o /dev/dsp0 myhost.mydomain.com:17324
Conectează portul 3333 de pe gazda myhost.mydomain.com și orice date găsește acolo
să fie trimis pe placa de sunet, cu setări adecvate pentru redarea stereo de calitate CD.

cstream -i myaudiofile.raw -o : 17324
Aceasta va deschide un server TCP pe portul 17324 și așteaptă până când cineva se conectează (pentru
exemplu, linia de comandă din exemplul anterior). Apoi va trimite conținutul
de myaudiofile.raw în fluxul TCP (pentru exemplul audio anterior, de obicei a
CD audiotrack așa cum o obțineți de la utilitățile tosha sau cdparanoia).

cstream -OD -o Dosarul meu

Scrieți în fișierul meu cu O_DIRECT. Asta înseamnă, de obicei, că sistemul de fișiere buffer
memoria cache nu va încerca să memoreze acest fișier. Puteți folosi asta pentru a preveni copierea
operații de la consumarea memoriei fizice. Rețineți că atunci când cstream întâlnește un
eroare de scriere va comuta fișierul de ieșire de la O_DIRECT la un fișier normal și va scrie
toate blocurile ulterioare fără O_DIRECT dacă scrierile fără O_DIRECT reușesc. In practica
asta înseamnă de obicei că ultimul tău bloc, dacă nu este un multiplu al blocului sistemului de fișiere
dimensiune, va fi în continuare scris în fișier (cantitatea maximă de date scrise
fără O_DIRECT este dimensiunea blocului dvs. minus unu). În acest fel, cstream se asigură că
fișierul de ieșire are lungimea intrării, oricât de ciudată ar fi lungimea și indiferent
ce restricții pune sistemul de operare pe ieșirea O_DIRECT. Din nou, cstream *nu* va bloca
ieșirea la dimensiunea blocului, obțineți aceeași dimensiune a fișierului și a fișierului ca și când nu le utilizați
O_DIRECT, cu prețul trecerii la non-O_DIRECT ori de câte ori un bloc nu este corect
mărimea.

cstream -i : 3333 | dd obs=8192 | ./cstream -omyfile -v7 -OD
Acesta este ceea ce trebuie să faceți pentru a tampona intrarea TCP, astfel încât ultimul cstream să nu se facă
depărtați prematur de la O_DIRECT din cauza citirilor scurte. Dacă contribuția dvs. poate face
citiri scurte (de exemplu din TCP) și doriți să vă asigurați că O_DIRECT rămâne în vigoare,
aveți nevoie de un buffer între fluxul TCP și fluxul O_DIRECT. De când cstream
nu acceptă încă diferite dimensiuni de bloc de intrare și ieșire, dd este potrivit aici.
Rețineți că acest lucru este necesar numai dacă sistemul de operare necesită multipli ai sistemului de fișiere
dimensiunea blocului pentru O_DIRECT. La momentul scrierii acestui articol, acest construct este necesar
Linux pentru utilizarea fluxurilor TCP cu O_DIRECT, dar nu este necesar pe FreeBSD.

cstream -OS -o Dosarul meu
Scrie în fișierul myfile cu O_SYNC. Aceasta înseamnă că în momentul în care apelul de sistem revine
se știe că datele sunt pe disc. Acesta nu este același lucru cu O_DIRECT. O_DIRECT
își poate face propriul buffering, cu O_SYNC nu există deloc tamponare. La momentul de
în această scriere, O_SYNC atât pe Linux, cât și pe FreeBSD este foarte lent (1/5 până la 1/10 din
scriere normală) și O_DIRECT este relativ rapidă (1/4 până la 1/2 din scrierea normală). Tu
poate combina O_SYNC și O_DIRECT.

ERORI


Codul de ieșire 0 înseamnă succes.

Codul de ieșire 1 înseamnă o eroare de utilizare a sintaxei liniei de comandă.

Codul de ieșire 2 înseamnă alte erori, în special erori de sistem.

Bugs


Ar trebui să existe o opțiune de a începe să scrieți direct după terminarea primei citiri și apoi de a completa
tamponul cu citiri în fundal. În acest moment, scrierea nu va începe înaintea cititorului
a umplut tamponul complet pentru prima dată.

Nu este o eroare: codul pentru a face O_DIRECT este rezonabil de sofisticat. Va reveni la normal
I/O pe erori. Dar înainte de a face asta, știe despre ambele cerințe privind dimensiunea blocului sistemului de fișiere
(va implicit dimensiunea blocului I/O în orice sistem de fișiere al fișierului de ieșire) și pagina
cerințe de aliniere (I/O va avea loc dintr-un buffer aliniat la pagină). Însă
combinația de citire/scriere simultană (opțiuni -c) și O_DIRECT nu a fost testată mai departe
verificare de bază că unele teste sunt corecte.

Utilizați cstream online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    DivFix ++
    DivFix ++
    DivFix++ este reparația dvs. video AVI și
    software de previzualizare. Este conceput pentru reparații
    și previzualizați fișierele care sunt în descărcare
    de la ed2k(emule), torrent, gnutella, ftp...
    Descărcați DivFix++
  • 2
    Comunitatea JBoss
    Comunitatea JBoss
    Proiecte conduse de comunitate care prezintă
    ultimele inovații pentru vârf
    aplicații. Proiectul nostru emblematic JBoss AS este
    liderul Open Source,
    conform standardelor...
    Descărcați JBoss Community
  • 3
    Django Filer
    Django Filer
    django Filer este un management de fișiere
    aplicație pentru django care face
    gestionarea fișierelor și imaginilor cu ușurință.
    django-filer este un management de fișiere
    aplicație pentru djang...
    Descărcați Django Filer
  • 4
    xCAT
    xCAT
    Setul de instrumente Extreme Cluster Administration.
    xCAT este un management de cluster scalabil
    și instrument de furnizare care oferă
    control hardware, descoperire și sistem de operare
    discful/di...
    Descărcați xCAT
  • 5
    Psi
    Psi
    Psi este XMPP puternic multiplatformă
    client conceput pentru utilizatori experimentați.
    Există versiuni disponibile pentru MS
    Windows, GNU/Linux și macOS.. Public:
    Utilizatori finali...
    Descărcați Psi
  • 6
    Volei Blobby 2
    Volei Blobby 2
    Continuarea oficială a celebrului
    Jocul arcade Blobby Volley 1.x...
    Public: utilizatori finali/desktop. Utilizator
    interfață: OpenGL, SDL. Programare
    Limbaj: C++, Lua. C...
    Descărcați Blobby Volley 2
  • Mai mult »

Comenzi Linux

Ad