IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

cstream - Online nel cloud

Esegui cstream nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando cstream che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


cstream — flussi di dati diretti, con limitazione della larghezza di banda, FIFO, audio, duplicazione e
supporto esteso alla segnalazione.

SINOSSI


cstream [-b num] [-B num] [-i Nome del file] [-I stringa] [-l] [-n num] [-o Nome del file] [-O stringa]
[-p Nome del file] [-t num] [-T num] [-v num] [-V] [Nome del file]

DESCRIZIONE


Cstream filtra i flussi di dati, proprio come lo strumento UNIX dd(1). Ha un aspetto più tradizionale
sintassi della riga di comando, supporto per la limitazione e il reporting precisi della larghezza di banda e supporto per
FIFO. I limiti di dati e il calcolo della velocità di trasmissione funzioneranno per file > 4 GB.

Cstream legge dallo standard input e scrive sullo standard output, se non ci sono nomi di file
dato. Se lo si desidera, 'genera' o 'affonda' anche i dati.

Opzioni:

-b num Imposta la dimensione del blocco utilizzato per la lettura/scrittura su num. Il valore predefinito è 8192 byte.

-B num Ingresso buffer fino a num byte prima di scrivere. L'impostazione predefinita è la dimensione del blocco. è
un errore per impostarlo su qualcosa al di sotto della dimensione del blocco. Utile quando si scrivono nastri
e simili che preferiscono poche grandi scritture di tante piccole.

-c num Operazione simultanea. Utilizzare un processo separato per l'output. Questo è particolarmente utile
in combinazione con l'opzione -B.
0 = usa un solo processo (predefinito)
1 = il processo di lettura verrà bufferizzato
2 = il processo di scrittura verrà bufferizzato
3 = entrambi i processi verranno bufferizzati.
In combinazione con una grande dimensione del buffer questo caricherà spesso la tua memoria
pesantemente, ogni volta che il lettore trasferisce il buffer raccolto al
scrittore. Se usi -c 3 e hai una dimensione del buffer di 128 Megabyte 256 MB di
la memoria sarà toccata subito.

-i num

-o num Imposta i nomi dei file da utilizzare rispettivamente per l'input o l'output. Se il file di output
nome è "-", i dati verranno semplicemente eliminati. Se il nome del file di input è "-", i dati verranno
essere generato 'dal vuoto'. Se queste opzioni non vengono fornite, stdin/stout sarà
Usato. Se hai bisogno di dare -o or -i options e vuoi stdin/stdout, specifica il
stringa vuota, in questo modo:

cstream -i''

Se il supporto TCP è stato compilato in (predefinito), hostname:portnumber tenterà di
connettersi all'host specificato alla porta specificata e :portnumber si aprirà a
socket TCP sulla macchina locale e attendere l'arrivo di una connessione. SICUREZZA
NOTA: cstream non include alcun meccanismo per limitare gli host che possono connettersi a questo
porta. A meno che la tua macchina non disponga di altri filtri di rete, chiunque sarà in grado di farlo
connessione.

-I stringa

-O stringa
Specificare rispettivamente il tipo di file di input e di output.
Se stringa
include 'f', verrà creata una fifo.
Se stringa
include 'a', si presumerà che il file sia un audio compatibile con opensound
dispositivo e passerà alle impostazioni simili a CD.
Se stringa
include 't', una copia del flusso verrà inviata al descrittore di file 3.
Se stringa
include 'N', TCP non verrà utilizzato per quel file anche se il nome ha un ":".

-l Includi il conteggio delle righe nelle statistiche.

-n num Limita la quantità totale di dati a num. Se c'è più input disponibile, lo farà
essere scartato, cstream uscirà dopo il raggiungimento del limite. Se c'è di meno
ingresso, il limite non verrà raggiunto e non verrà segnalato alcun errore.

num può avere una 'k', 'm' o 'g' finale che significa Kilobyte, Megabyte o
Gigabyte (dove Kilo = 1024). Questo vale per tutte le opzioni numeriche.

-p Nome del file
Scrivi l'id del processo di cstream in Nome del file. Se cstream usa un writer separato
process (opzione -c), questo è il pid del processo genitore (reader).

-t num Limitare il throughput del flusso di dati a num byte/secondo. La limitazione viene eseguita a
lato input, puoi fare affidamento sul fatto che cstream non accetti più di questo tasso. Se la
il numero che dai è positivo, cstream accumula errori e cerca di mantenere il
tariffa complessiva al valore specificato, per l'intera sessione. Se dai un negativo
numero, è un limite superiore per ogni coppia di chiamate di sistema di lettura/scrittura. In altre parole:
il numero negativo non supererà mai quel limite, il numero positivo supererà
per compensare il sottoutilizzo precedente.

-T num Rapporto throughput ogni num secondi.

-v num Imposta il livello dettagliato su num. Per impostazione predefinita, è impostato su 0, il che significa che non ci sono messaggi
visualizzato finché non si verificano errori. Un valore di 1 significa che la quantità totale di dati
e il rendimento verranno visualizzati alla fine dell'esecuzione del programma. Un valore di 2 significa il
verrà inoltre riportata la velocità di trasferimento dalla fine della prima coppia di lettura/scrittura
(utile quando c'è un ritardo iniziale). Un valore di 3 significa che ci sarà anche
misure separate per lettura e scrittura. Questa opzione consuma risorse e
attualmente non è implementato. Un valore di 4 significa che gli avvisi su ogni singolo
lettura/scrittura verrà visualizzato. I valori alti includono tutti i tipi di messaggi inferiori
valori.

-V Stampa il numero di versione su stdout ed esci con 0.

Nome del file Un singolo nome di file come ultimo argomento senza un'opzione verrà utilizzato come
file di input se -i non è stato utilizzato.

SIGUSR1

SIGNINFO Invio di SIGUSR1 (o SIGINFO, che di solito è mappato su Control-T sulla tua tastiera)
a cstream fa in modo che mostri le velocità di trasmissione a stderr. Il flusso sarà
continua come se niente fosse.

SIGUSR2 Uscire e segnalare le velocità di trasmissione, se richiesto.

SIGILLO Mi sono ritrovato a inviare SIGHUP accidentalmente troppo spesso. Ma ignorando o abusando
SIGHUP non è un'opzione per me. Quindi, quando cstream ricevuto SIGHUP, aspetterà 5
secondi per un altro SIGHUP, per dare agli utenti la possibilità di correggere un possibile errore.
Se non viene ricevuto alcun SIGHUP aggiuntivo, cstream si uccide con SIGHUP.

ESEMPI


cstream -o tmpfile -v 1 -n 384m -i -
Scrive 384 Megabyte di dati non specificati su file tmpfile e mostra prolisso
tasso di rendimento. Fa un buon punto di riferimento, la velocità di / Dev / null varia troppo da
sistema a sistema.

cstream -i tmpfile -v 1 -n 384m -o -
Rileggi lo stesso file e scarta i dati.

cstream -b 2000 -t 10000 / var / log / messages
Visualizzerà il file con una velocità più o meno guardabile.

cumulo di rifiuti 0sf 400000 - / | cstream -v 1 -b 32768 -o /dev/primo0 -p file pid

kill -USR1 `gatto pidfile`
Scrivi l'output da cumulo di rifiuti(1) su nastro. Ogni volta che viene inviato il segnale, il throughput
e la velocità dei dati fino a quel momento verranno visualizzati.

cstream -t 176400 -i /dev/dsp0 -I f -o -
Fa una specie di emulatore di schede audio che può essere utilizzato per testare applicazioni audio che
bisogno di qualcosa su cui scrivere che limiti la velocità dei dati come fa una vera scheda audio. Questo
ovviamente non funziona quando l'applicazione prova a scrivere dati usando mmap(2) e
l'applicazione deve ignorare gli errori quando cerca di impostare i parametri della scheda audio usando
ioctls(2).

cstream -t 176400 -i /dev/dsp0 -I f -o /dev/dsp1 -O f
Emulatore di scheda audio simile, tranne per il fatto che ti consente di acquisire i dati da te
le applicazioni gli invii dall'altra fifo, pur avendo tempistiche precise.

cstream -Oh -o /dev/dsp0 miohost.miodominio.com:17324
Collega la porta 3333 sull'host myhost.mydomain.com e tutti i dati che trova lì lo faranno
essere inviato alla scheda audio, con le impostazioni appropriate per la riproduzione stereo di qualità CD.

cstream -i mioaudiofile.raw -o : 17324
Questo aprirà un server TCP sulla porta 17324 e attende finché qualcuno si connette (per
esempio, la riga di comando dell'esempio precedente). Quindi invierà i contenuti
di myaudiofile.raw lungo il flusso TCP (per l'esempio audio precedente, in genere a
CD audiotrack come si ottiene dalle utility tosha o cdparanoia).

cstream -OD -o il mio file

Scrivi nel file myfile con O_DIRECT. Questo di solito significa che il buffer del filesystem
cache non tenterà di memorizzare nella cache questo file. Puoi usarlo per impedire la copia
operazioni dal divorare la memoria fisica. Nota che quando cstream incontra a
errore di scrittura cambierà il file di output da O_DIRECT a un file normale e scriverà
tutti gli ulteriori blocchi senza O_DIRECT se le scritture senza O_DIRECT hanno esito positivo. In pratica
questo di solito significa che il tuo ultimo blocco, se non un multiplo del blocco del filesystem
dimensione, sarà comunque scritto nel file (la quantità massima di dati scritti
senza O_DIRECT è il tuo blocksize meno uno). In questo modo cstream garantisce che il
il file di output ha la lunghezza dell'input, per quanto strana fosse la lunghezza e non importa
quali restrizioni il tuo sistema operativo pone sull'output O_DIRECT. Di nuovo, cstream *non* pad
l'output alla dimensione del blocco, ottieni lo stesso file e le stesse dimensioni del file come se non lo usi
O_DIRECT, al costo di passare a non-O_DIRECT ogni volta che un blocco non è giusto
dimensione.

cstream -i : 3333 | dd os=8192 | ./cstream -omifile -v7 -OD
Questo è ciò che devi fare per bufferizzare l'input TCP, in modo che l'ultimo cstream non lo faccia
passare da O_DIRECT prematuramente a causa di letture brevi. Se il tuo contributo può fare
letture brevi (ad es. da TCP) e vuoi assicurarti che O_DIRECT rimanga attivo,
è necessario un buffer tra il flusso TCP e il flusso O_DIRECT. Dal momento che cstream
non supporta ancora diverse dimensioni di blocco di input e output, dd è adatto qui.
Nota che questo è necessario solo se il sistema operativo richiede multipli del filesystem
dimensione del blocco per O_DIRECT. Al momento in cui scriviamo questo costrutto è necessario su
Linux per usare flussi TCP con O_DIRECT, ma non è necessario su FreeBSD.

cstream -OSSO -o il mio file
Scrive nel file myfile con O_SYNC. Ciò significa che quando ritorna la chiamata di sistema
i dati sono noti per essere su disco. Questa non è la stessa cosa di O_DIRECT. O_DIRECT
può fare il proprio buffering, con O_SYNC non c'è alcun buffering. Al tempo di
questa scrittura, O_SYNC sia su Linux che su FreeBSD è molto lento (da 1/5 a 1/10 di
scrittura normale) e O_DIRECT è ragionevolmente veloce (da 1/4 a 1/2 della scrittura normale). Voi
può combinare O_SYNC e O_DIRECT.

ERRORI


Il codice di uscita 0 significa successo.

Il codice di uscita 1 indica un errore di utilizzo della sintassi della riga di comando.

Il codice di uscita 2 indica altri errori, in particolare errori di sistema.

Bugs


Dovrebbe esserci un'opzione per iniziare a scrivere direttamente dopo la fine della prima lettura e quindi compilare
il buffer con le letture in background. In questo momento la scrittura non comincerà prima del lettore
ha riempito completamente il buffer per la prima volta.

Non è un bug: il codice per eseguire O_DIRECT è ragionevolmente sofisticato. Tornerà alla normalità
I/O su errori. Ma prima di farlo conosce entrambi i requisiti della dimensione dei blocchi del filesystem
(predefinirà la dimensione del blocco I/O su qualunque sia il filesystem del file di output) e pagina
requisiti di allineamento (l'I/O avverrà da un buffer allineato alla pagina). in ogni caso, il
la combinazione di lettura/scrittura simultanee (opzioni -c) e O_DIRECT non è stata testata oltre
verifica di base che esegua correttamente alcuni test.

Usa cstream online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    DivFix + +
    DivFix + +
    DivFix++ è la tua riparazione di video AVI e
    software di anteprima. Progettato per la riparazione
    e visualizzare in anteprima i file che sono in download
    da ed2k(emule), torrent, gnutella, ftp...
    Scarica DivFix++
  • 2
    Comunità JBoss
    Comunità JBoss
    Progetti guidati dalla comunità con il
    ultime innovazioni per l'avanguardia
    app. Il nostro progetto di punta è JBoss AS
    il principale Open Source,
    conforme agli standard...
    Scarica Comunità JBoss
  • 3
    Django Filer
    Django Filer
    django Filer è un gestore di file
    applicazione per django che fa
    gestire file e immagini è un gioco da ragazzi.
    django-filer è un gestore di file
    applicazione per Djang...
    Scarica DjangoFiler
  • 4
    x CAT
    x CAT
    Kit di strumenti per l'amministrazione di cluster estremi.
    xCAT è una gestione cluster scalabile
    e strumento di provisioning che fornisce
    controllo hardware, rilevamento e sistema operativo
    dischetto/di...
    Scarica x CAT
  • 5
    Psi
    Psi
    Psi è un potente XMPP multipiattaforma
    client progettato per utenti esperti.
    Sono disponibili build per MS
    Windows, GNU/Linux e macOS. Pubblico:
    Utenti finali...
    Scarica PS
  • 6
    Volley Blobby 2
    Volley Blobby 2
    Continuazione ufficiale del famoso
    Blobby Volley 1.x gioco arcade..
    Pubblico: utenti finali/desktop. Utente
    interfaccia: OpenGL, SDL. Programmazione
    Linguaggio: C++, Lua. C...
    Scarica Blobby Volley 2
  • Di Più "

Comandi Linux

Ad