EngelsFransSpaans

Ad


OnWorks-favicon

cstream - Online in de cloud

Voer cstream uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht cstream die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


cstroom — directe datastromen, met bandbreedtebeperking, FIFO, audio, duplicatie en
uitgebreide rapportageondersteuning.

KORTE INHOUD


cstroom [-b num] [-B num] [-i bestandsnaam] [-I snaar] [-l] [-n num] [-o bestandsnaam] [-O snaar]
[-p bestandsnaam] [-t num] [-T num] [-v num] [-V] [bestandsnaam]

PRODUCTBESCHRIJVING


Cstroom filtert gegevensstromen, net zoals de UNIX-tool dd(1). Het heeft een meer traditionele
opdrachtregelsyntaxis, ondersteuning voor nauwkeurige bandbreedtebeperking en rapportage en ondersteuning voor
FIFO's. Gegevenslimieten en berekening van de doorvoersnelheid werken voor bestanden > 4 GB.

Cstroom leest van de standaardinvoer en schrijft naar de standaarduitvoer, als er geen bestandsnamen zijn
gegeven. Indien gewenst zal het ook gegevens 'genereren' of 'zinken'.

Opties:

-b num Stel de blokgrootte in die wordt gebruikt voor lezen/schrijven num. De standaardwaarde is 8192 bytes.

-B num Bufferingang tot num bytes vóór het schrijven. De standaardwaarde is de blokgrootte. Het is
een fout om dit in te stellen op iets onder de blokgrootte. Handig bij het schrijven van tapes
en soortgelijke die de voorkeur geven aan weinig grote schrijfsels boven veel kleine.

-c num Gelijktijdige werking. Gebruik een afzonderlijk proces voor uitvoer. Dit is vooral handig
in combinatie met de -B optie.
0 = gebruik slechts één proces (standaard)
1 = leesproces buffert
2 = schrijfproces buffert
3 = beide processen bufferen.
In combinatie met een grote buffergrootte belast dit vaak je geheugen
zwaar, elke keer dat de lezer de verzamelde buffer overbrengt naar de
auteur. Als je -c 3 gebruikt en een buffergrootte hebt van 128 Megabytes 256 MB
herinnering zal onmiddellijk worden aangeraakt.

-i num

-o num Stel de bestandsnamen in die respectievelijk voor invoer of uitvoer moeten worden gebruikt. Als het uitvoerbestand
naam is "-", gegevens worden gewoon weggegooid. Als de naam van het invoerbestand "-" is, zullen de gegevens dat wel doen
‘uit de leegte’ gegenereerd worden. Als deze opties niet worden gegeven, zal stdin/stout dat wel zijn
gebruikt. Als je moet geven -o or -i opties en wil stdin/stdout, specificeer dan de
lege string, zoals deze:

cstream -i''

Als TCP-ondersteuning is gecompileerd (standaard), zal hostnaam:poortnummer dit proberen
maak verbinding met de opgegeven host op de opgegeven poort en :poortnummer opent een
TCP-socket op de lokale machine en wacht tot er een verbinding tot stand komt. BEVEILIGING
OPMERKING: cstream bevat geen mechanisme om de hosts te beperken die hiermee verbinding kunnen maken
haven. Tenzij uw machine over andere netwerkfilters beschikt, kan iedereen dit doen
sluiten.

-I snaar

-O snaar
Geef respectievelijk het type invoer- en uitvoerbestand op.
Als tekenreeks
bevat 'f', er wordt een fifo gemaakt.
Als tekenreeks
'a' bevat, wordt aangenomen dat het bestand een opensound-compatibele audio is
apparaat en wordt overgeschakeld naar cd-achtige instellingen.
Als tekenreeks
bevat 't', een kopie van de stream wordt verzonden naar bestandsdescriptor 3.
Als tekenreeks
bevat 'N', TCP zal niet worden gebruikt voor dat bestand, ook al heeft de naam een ​​:.

-l Neem het aantal regels op in de statistieken.

-n num Beperk de totale hoeveelheid gegevens tot num. Als er meer input beschikbaar is, zal dat ook gebeuren
worden weggegooid, cstroom wordt afgesloten nadat de limiet is bereikt. Als er minder is
invoer wordt de limiet niet bereikt en wordt er geen fout gesignaleerd.

num kan een 'k', 'm' of 'g' hebben, wat Kilobytes, Megabytes of
Gigabytes (waarbij Kilo = 1024). Dit geldt voor alle numerieke opties.

-p bestandsnaam
Schrijf de proces-ID van cstream naar bestandsnaam. Als cstream een ​​aparte schrijver gebruikt
proces (optie -c), dit is de pid van het ouderproces (lezer).

-t num Beperk de doorvoer van de gegevensstroom tot num bytes/seconde. Het beperken gebeurt op
aan de inputkant kunt u erop vertrouwen dat cstream niet meer dan dit tarief accepteert. Als de
het getal dat u opgeeft is positief, cstream verzamelt fouten en probeert het
totaaltarief tegen de opgegeven waarde, voor de hele sessie. Als je een negatief geeft
nummer, het is een bovengrens voor elk lees-/schrijfsysteemaanroeppaar. Met andere woorden:
het negatieve getal zal die limiet nooit overschrijden, het positieve getal zal deze overschrijden
om eerdere onderbenutting te compenseren.

-T num Rapporteer de doorvoersnelheid elk aantal seconden.

-v num Stel uitgebreid niveau in op num. Standaard is deze ingesteld op 0, wat betekent dat er geen berichten zijn
weergegeven zolang er geen fouten optreden. Een waarde van 1 betekent de totale hoeveelheid gegevens
en de doorvoer worden aan het einde van de programma-afloop weergegeven. Een waarde van 2 betekent de
De overdrachtssnelheid sinds het einde van het eerste lees-/schrijfpaar wordt ook gerapporteerd
(handig als er een initiële vertraging is). Een waarde van 3 betekent dat dit ook het geval zal zijn
afzonderlijke metingen voor lezen en schrijven. Deze optie vergt veel middelen en
momenteel niet geïmplementeerd. Een waarde van 4 betekent dat er over elke single mededelingen zijn
lezen/schrijven wordt weergegeven. Hoge waarden omvatten alle berichttypen lager
waarden.

-V Druk het versienummer af naar stdout en sluit af met 0.

bestandsnaam Een enkele bestandsnaam als laatste argument zonder optieschakelaar wordt gebruikt als
invoerbestand als -i niet is gebruikt.

SIGUSR1

SIGINFO SIGUSR1 verzenden (of SIGINFO, meestal toegewezen aan Control-T op uw toetsenbord)
to cstream zorgt ervoor dat het de doorvoersnelheden naar stderr weergeeft. De stroom zal
doorgaan alsof er niets is gebeurd.

SIGUSR2 Sluit af en rapporteer de doorvoersnelheden, indien gevraagd.

ZUCHT Ik merkte dat ik per ongeluk te vaak SIGHUP stuurde. Maar negeren of misbruiken
SIGHUP is voor mij geen optie. Dus wanneer cstroom SIGHUP ontvangen, het zal wachten 5
seconden voor nog een SIGHUP, om gebruikers de kans te geven een mogelijke fout te corrigeren.
Als er geen extra SIGHUP wordt ontvangen, cstroom pleegt zelfmoord met SIGHUP.

Voorbeelden


cstroom -o tmpbestand -v 1 -n 384m -i -
Schrijft 384 megabytes aan niet-gespecificeerde gegevens naar een bestand tmpbestand en uitgebreid weergeven
doorvoersnelheid. Maakt een goede benchmark, de snelheid van / Dev / null varieert te veel van
systeem tot systeem.

cstroom -i tmpbestand -v 1 -n 384m -o -
Lees hetzelfde bestand opnieuw in en verwijder de gegevens.

cstroom -b 2000 -t 10000 / Var / log / messages
Zal het bestand weergeven met een min of meer zichtbare snelheid.

storten 0sf 400000 - / | cstroom -v 1 -b 32768 -o /dev/rst0 -p pidbestand

doden -USR1 `kat pidbestand`
Schrijf de uitvoer van storten(1) op band. Elke keer dat het signaal wordt verzonden, wordt de doorvoersnelheid gemeten
en de datasnelheid tot nu toe worden weergegeven.

cstroom -t 176400 -i /dev/dsp0 -I f -o -
Maakt een soort geluidskaartemulator die kan worden gebruikt om audiotoepassingen te testen
heb iets nodig om naartoe te schrijven dat de datasnelheid beperkt zoals een echte geluidskaart dat doet. Dit
werkt uiteraard niet wanneer de applicatie gegevens probeert te schrijven met behulp van mmap(2) en
de toepassing moet fouten negeren wanneer deze geluidskaartparameters probeert in te stellen met behulp van
ioctls(2).

cstroom -t 176400 -i /dev/dsp0 -I f -o /dev/dsp1 -O f
Soortgelijke geluidskaartemulator, behalve dat u hiermee de gegevens van uw computer kunt ophalen
applicaties er vanaf de andere fifo naartoe sturen, terwijl ze nog steeds een nauwkeurige timing hebben.

cstroom - Oa -o /dev/dsp0 mijnhost.mijndomein.com:17324
Verbindt poort 3333 op host myhost.mydomain.com en alle gegevens die daar worden gevonden
naar de geluidskaart worden gestuurd, met de juiste instellingen voor stereoweergave van cd-kwaliteit.

cstroom -i mijnaudiobestand.raw -o : 17324
Hierdoor wordt een TCP-server op poort 17324 geopend en wordt gewacht totdat iemand verbinding maakt (bijv
bijvoorbeeld de opdrachtregel uit het vorige voorbeeld). Vervolgens wordt de inhoud verzonden
van myaudiofile.raw in de TCP-stream (voor het vorige audiovoorbeeld meestal een
CD-audiotrack zoals u die krijgt van de hulpprogramma's tosha of cdparanoia).

cstroom -OD -o mijn bestand

Schrijf naar bestand mijnbestand met O_DIRECT. Dat betekent meestal dat het bestandssysteem buffer
cache zal niet proberen dit bestand in de cache op te slaan. U kunt dat gebruiken om kopiëren te voorkomen
operaties tegen het opeten van fysiek geheugen. Merk op dat wanneer cstream een
schrijffout, het uitvoerbestand wordt overgeschakeld van O_DIRECT naar een normaal bestand en er wordt geschreven
alle verdere blokken zonder O_DIRECT als schrijven zonder O_DIRECT slaagt. In praktijk
dat betekent meestal dat uw laatste blok, zo niet een veelvoud van het bestandssysteemblok
grootte, wordt nog steeds in het bestand geschreven (de maximale hoeveelheid geschreven gegevens
zonder O_DIRECT is je blokgrootte min één). Op die manier zorgt cstream ervoor dat de
uitvoerbestand heeft de lengte van de invoer, hoe vreemd de lengte ook was en het maakt niet uit
welke beperkingen uw besturingssysteem oplegt aan de O_DIRECT-uitvoer. Nogmaals, cstream zal *niet* opvullen
de uitvoer naar de blokgrootte, krijgt u hetzelfde bestand en dezelfde bestandsgrootte alsof u deze niet gebruikt
O_DIRECT, ten koste van het overschakelen naar niet-O_DIRECT wanneer een blok niet goed is
grootte.

cstroom -i : 3333 | dd obs=8192 | ./cstream -omiebestand -v7 -OD
Dit is wat u moet doen om TCP-invoer te bufferen, zodat de laatste cstream dat niet doet
schakel voortijdig over van O_DIRECT vanwege korte leesbewerkingen. Als uw inbreng dat kan
korte leesbewerkingen (bijvoorbeeld vanaf TCP) en u wilt ervoor zorgen dat O_DIRECT van kracht blijft,
je hebt een buffer nodig tussen de TCP-stream en de O_DIRECT-stream. Sinds cstream
ondersteunt nog geen verschillende invoer- en uitvoerblokgroottes, dd is hier geschikt.
Merk op dat dit alleen nodig is als het besturingssysteem veelvouden van het bestandssysteem vereist
blokgrootte voor O_DIRECT. Op het moment dat we dit schrijven is deze constructie nodig
Linux voor het gebruik van TCP-streams met O_DIRECT, maar dit is niet nodig op FreeBSD.

cstroom -BOT -o mijn bestand
Schrijft naar bestand mijnbestand met O_SYNC. Dit betekent tegen de tijd dat de systeemoproep terugkeert
Het is bekend dat de gegevens op schijf staan. Dit is niet hetzelfde als O_DIRECT. O_DIRECT
kan zijn eigen buffering uitvoeren, met O_SYNC is er helemaal geen buffering. Ten tijde van
dit schrijven is O_SYNC op zowel Linux als FreeBSD erg traag (1/5e tot 1/10e van
normaal schrijven) en O_DIRECT is redelijk snel (1/4 tot 1/2 van normaal schrijven). Jij
kan O_SYNC en O_DIRECT combineren.

FOUTEN


Exitcode 0 betekent succes.

Afsluitcode 1 betekent een gebruiksfout in de syntaxis van de opdrachtregel.

Exitcode 2 betekent andere fouten, vooral systeemfouten.

bugs


Er zou een optie moeten zijn om direct te beginnen met schrijven nadat het eerste lezen is geëindigd en vervolgens te vullen
de buffer met lezingen op de achtergrond. Op dit moment begint het schrijven niet vóór de lezer
heeft de buffer voor het eerst volledig gevuld.

Geen bug: de code voor O_DIRECT is redelijk geavanceerd. Het zal weer normaal worden
I/O bij fouten. Maar voordat het dat doet, kent het de vereisten voor de blokgrootte van beide bestandssystemen
(zal de I/O-blokgrootte standaard aanpassen aan het bestandssysteem van het uitvoerbestand) en page
uitlijningsvereisten (I/O gebeurt vanuit een pagina-uitgelijnde buffer). echter, de
combinatie van gelijktijdig lezen/schrijven (-c opties) en O_DIRECT is verder niet getest
basisverificatie dat sommige tests goed zijn.

Gebruik cstream online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Grondig schoon
    Grondig schoon
    Een Kotlin-script dat alle builds nukes maakt
    caches van Gradle/Android-projecten.
    Handig als Gradle of de IDE je dat toestaan
    omlaag. Het script is getest
    macOS, maar ...
    Deep clean downloaden
  • 2
    Eclipse Checkstyle-plug-in
    Eclipse Checkstyle-plug-in
    De Eclipse Checkstyle-plug-in
    integreert de Checkstyle Java-code
    auditor in de Eclipse IDE. De
    plug-in geeft real-time feedback aan
    de gebruiker over geweld...
    Eclipse Checkstyle plug-in downloaden
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is een gratis mediaspeler
    software, deels gebaseerd op WMP en VLC. De
    speler is in een minimalistische stijl, met
    meer dan tien themakleuren, en kan ook
    b ...
    AstrOrzPlayer downloaden
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV is een ADDON voor XBMC/
    Het is mogelijk dat u een
    decodificator van de IPTV-services
    Movistar is geïntegreerd in één van de los
    mediacentra ma...
    Movistartv downloaden
  • 5
    Code :: Blocks
    Code :: Blocks
    Code::Blocks is een gratis, open-source,
    platformonafhankelijke C, C++ en Fortran IDE
    gebouwd om aan de meest veeleisende behoeften te voldoen
    van zijn gebruikers. Het is ontworpen om zeer te zijn
    strekt zich uit...
    Code::Blokken downloaden
  • 6
    Te midden van
    Te midden van
    Midden of geavanceerde Minecraft-interface
    en Data/Structure Tracking is een hulpmiddel om
    een overzicht van een Minecraft weergeven
    wereld, zonder deze daadwerkelijk te creëren. Het
    kan ...
    Midden downloaden
  • Meer "

Linux-commando's

Ad