InglêsFrancêsEspanhol

Ad


favicon do OnWorks

cstream - Online na nuvem

Execute o cstream no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando cstream que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


stream - fluxos de dados diretos, com limitação de largura de banda, FIFO, áudio, duplicação e
suporte estendido de relatórios.

SINOPSE


stream [-b Números] [-B Números] [-i nome do arquivo] [-I corda] [-l] [-n Números] [-o nome do arquivo] [-O corda]
[-p nome do arquivo] [-t Números] [-T Números] [-v Números] [-V] [nome do arquivo]

DESCRIÇÃO


Cstream filtra fluxos de dados, como a ferramenta UNIX dd(1). Tem um jeito mais tradicional
sintaxe de linha de comando, suporte para limitação e relatórios precisos de largura de banda e suporte para
FIFOs. Os limites de dados e o cálculo da taxa de transferência funcionarão para arquivos> 4 GB.

Cstream lê da entrada padrão e grava na saída padrão, se nenhum nome de arquivo for
dado. Ele também 'gerará' ou 'afundará' dados, se desejado.

opções:

-b Números Defina o tamanho do bloco usado para leitura / gravação para Números. O padrão é 8192 bytes.

-B Números Buffer de entrada até Números bytes antes de escrever. O padrão é o tamanho do bloco. Isto é
um erro ao definir isso para qualquer coisa abaixo do tamanho do bloco. Útil ao escrever fitas
e semelhantes que preferem poucas gravações grandes de muitas pequenas.

-c Números Operação simultânea. Use um processo separado para saída. Isso é especialmente útil
em combinação com a opção -B.
0 = usar apenas um processo (padrão)
1 = processo de leitura irá armazenar em buffer
2 = processo de gravação irá armazenar em buffer
3 = ambos os processos serão armazenados em buffer.
Em combinação com um grande tamanho de buffer, isso frequentemente carregará sua memória
pesadamente, toda vez que o leitor transfere o buffer que coletou para o
escritor. Se você usar -c 3 e tiver um tamanho de buffer de 128 Megabytes, 256 MB de
a memória será tocada imediatamente.

-i Números

-o Números Defina os nomes de arquivo a serem usados ​​para entrada ou saída, respectivamente. Se o arquivo de saída
nome é "-", os dados serão simplesmente descartados. Se o nome do arquivo de entrada for "-", os dados irão
ser gerado 'fora do vazio'. Se essas opções não forem fornecidas, stdin / stout será
usado. Se você precisa dar -o or -i opções e deseja stdin / stdout, especifique o
string vazia, como esta:

cstream -i ''

Se o suporte TCP foi compilado em (padrão), hostname: portnumber tentará
conectar-se ao host especificado na porta especificada e: portnumber abrirá um
Soquete TCP na máquina local e aguarde a chegada de uma conexão. SEGURANÇA
NOTA: cstream não inclui nenhum mecanismo para restringir os hosts que podem se conectar a este
porta. A menos que sua máquina tenha outros filtros de rede, qualquer pessoa será capaz de
conectar.

-I corda

-O corda
Especifique o tipo de arquivo de entrada e saída, respectivamente.
Se string
inclui 'f', um fifo será criado.
Se string
inclui 'a', o arquivo será considerado um áudio compatível com o OpenSound
dispositivo e será alterado para configurações semelhantes a CD.
Se string
inclui 't', uma cópia do fluxo será enviada para o descritor de arquivo 3.
Se string
inclui 'N', o TCP não será usado para esse arquivo, mesmo se o nome tiver um ":".

-l Incluir contagem de linha nas estatísticas.

-n Números Limite a quantidade total de dados a Números. Se houver mais informações disponíveis,
ser descartado, stream sairá depois que o limite for atingido. Se houver menos
entrada, o limite não será alcançado e nenhum erro será sinalizado.

Números pode ter um final 'k', 'm' ou 'g' que significa Kilobytes, Megabytes ou
Gigabytes (onde Kilo = 1024). Isso se aplica a todas as opções numéricas.

-p nome do arquivo
Escreva o id do processo de cstream para nome do arquivo. Se cstream usar um gravador separado
processo (opção -c), este é o pid do processo pai (leitor).

-t Números Limite a taxa de transferência do fluxo de dados a Números bytes / segundo. A limitação é feita em
do lado da entrada, você pode contar com o cstream não aceitando mais do que essa taxa. Se o
número que você dá é positivo, cstream acumula erros e tenta manter o
taxa geral no valor especificado, para toda a sessão. Se você der um negativo
número, é um limite superior para cada par de chamadas de sistema de leitura / gravação. Em outras palavras:
o número negativo nunca excederá esse limite, o número positivo excederá
para compensar a subutilização anterior.

-T Números Reportar a taxa de transferência a cada núm de segundos.

-v Números Defina o nível detalhado para Números. Por padrão, é definido como 0, o que significa que nenhuma mensagem é
exibido, desde que nenhum erro ocorra. Um valor de 1 significa que a quantidade total de dados
e a taxa de transferência será exibida no final da execução do programa. Um valor de 2 significa o
taxa de transferência desde o final do primeiro par de leitura / gravação também será relatada
(útil quando há um atraso inicial). Um valor de 3 significa que também haverá
medições separadas para leitura e gravação. Esta opção consome recursos e
atualmente não está implementado. Um valor de 4 significa que avisos sobre cada
leitura / gravação será exibida. Valores altos incluem todos os tipos de mensagens de baixo
valores.

-V Imprime o número da versão em stdout e sai com 0.

nome do arquivo Um único nome de arquivo como o último argumento sem uma opção de alternância será usado como
arquivo de entrada se -i não tiver sido usado.

SIGUSR1

SIGINFO Enviando SIGUSR1 (ou SIGINFO, que geralmente é mapeado para Control-T em seu teclado)
para cstream faz com que ele exiba taxas de transferência para stderr. O fluxo vai
continue como se nada tivesse acontecido.

SIGUSR2 Saia e relate as taxas de transferência, se solicitado.

SIGA Eu me vi enviando SIGHUP acidentalmente com muita frequência. Mas ignorar ou usar indevidamente
SIGHUP não é uma opção para mim. Assim, quando stream recebeu SIGHUP, vai esperar 5
segundos para outro SIGHUP, para dar aos usuários a chance de corrigir um possível erro.
Se nenhum SIGHUP adicional for recebido, stream se mata com SIGHUP.

EXEMPLOS


stream -o arquivo tmp -v 1 -n 384m -i -
Grava 384 megabytes de dados não especificados no arquivo arquivo tmp e exibir verboso
taxa de transferencia. É um bom benchmark, a velocidade de / dev / null varia muito de
sistema para sistema.

stream -i arquivo tmp -v 1 -n 384m -o -
Leia o mesmo arquivo e descarte os dados.

stream -b 2000 -t 10000 / var / log / messages
Irá exibir o arquivo em uma velocidade mais ou menos assistível.

despejar 0sf 400000 - / | stream -v 1 -b 32768 -o / dev / rst0 -p arquivo pid

matar -USR1 `gato arquivopid`
Escreva a saída de despejar(1) para a fita. Cada vez que o sinal é enviado, a taxa de transferência
e a taxa de dados até agora será exibida.

stream -t 176400 -i / dev / dsp0 -I f -o -
É uma espécie de emulador de placa de som que pode ser usado para testar aplicativos de áudio que
precisa de algo para escrever que limita a taxa de dados como uma placa de som real faz. Esse
obviamente não funciona quando o aplicativo tenta gravar dados usando mmap(2) e
o aplicativo deve ignorar os erros ao tentar definir os parâmetros da placa de som usando
ioctl(2).

stream -t 176400 -i / dev / dsp0 -I f -o / dev / dsp1 -O f
Emulador de placa de som semelhante, exceto que permite que você pegue os dados de seu
aplicativos enviam para ele do outro fifo, embora ainda tenham um tempo preciso.

stream -Oa -o / dev / dsp0 meuhost.meudomínio.com:17324
Conecta a porta 3333 no host myhost.mydomain.com e quaisquer dados que encontrar lá serão
ser enviado para a placa de som, com configurações apropriadas para reprodução de estéreo com qualidade de CD.

stream -i meu arquivo de áudio.raw -o : 17324
Isso abrirá um servidor TCP na porta 17324 e esperará até que alguém se conecte (por
exemplo, a linha de comando do exemplo anterior). Em seguida, ele irá enviar o conteúdo
de myaudiofile.raw down o fluxo TCP (para o exemplo de áudio anterior, normalmente um
Audiotrack de CD como você obtém dos utilitários tosha ou cdparanoia).

stream -OD -o meu arquivo

Grave no arquivo myfile com O_DIRECT. Isso geralmente significa que o buffer do sistema de arquivos
cache não tentará armazenar este arquivo em cache. Você pode usar isso para evitar a cópia
operações de comer memória física. Observe que quando cstream encontra um
erro de gravação, ele mudará o arquivo de saída de O_DIRECT para um arquivo normal e gravará
todos os blocos adicionais sem O_DIRECT se as gravações sem O_DIRECT forem bem-sucedidas. Na prática
isso geralmente significa que o seu último bloco, se não um múltiplo do bloco do sistema de arquivos
tamanho, ainda será gravado no arquivo (a quantidade máxima de dados gravados
sem O_DIRECT é o tamanho do bloco menos um). Dessa forma, o cstream garante que o
arquivo de saída tem o comprimento da entrada, por mais estranho que seja o comprimento e não importa
quais restrições seu sistema operacional coloca na saída de O_DIRECT. Novamente, cstream * não * preencherá
a saída para o tamanho do bloco, você obtém o mesmo arquivo e tamanho de arquivo como se não estivesse usando
O_DIRECT, ao custo de mudar para não O_DIRECT sempre que um bloco não for o correto
tamanho.

stream -i : 3333 | dd obs = 8192 | ./cstream -omifile -v7 -OD
Isso é o que você precisa fazer para armazenar a entrada TCP no buffer, de modo que o último cstream não
mude de O_DIRECT prematuramente por causa de leituras curtas. Se sua entrada pode fazer
leituras curtas (por exemplo, de TCP), e você deseja garantir que O_DIRECT permaneça em vigor,
você precisa de um buffer entre o fluxo TCP e o fluxo O_DIRECT. Desde cstream
ainda não suporta diferentes tamanhos de bloco de entrada e saída, dd é adequado aqui.
Observe que isso só é necessário se o sistema operacional exigir múltiplos do sistema de arquivos
tamanho do bloco para O_DIRECT. No momento em que este artigo foi escrito, esta construção é necessária em
Linux para usar fluxos TCP com O_DIRECT, mas não é necessário no FreeBSD.

stream -OSSO -o meu arquivo
Grava no arquivo myfile com O_SYNC. Isso significa que no momento em que a chamada do sistema retorna
sabe-se que os dados estão no disco. Isso não é a mesma coisa que O_DIRECT. O_DIRECT
pode fazer seu próprio buffer, com O_SYNC não há nenhum buffer. Na hora de
este escrito, O_SYNC em Linux e FreeBSD é muito lento (1/5 a 1/10 de
gravação normal) e O_DIRECT é razoavelmente rápido (1/4 a 1/2 da gravação normal). Vocês
pode combinar O_SYNC e O_DIRECT.

ERROS


O código de saída 0 significa sucesso.

O código de saída 1 significa um erro de uso de sintaxe de linha de comando.

O código de saída 2 significa outros erros, especialmente erros do sistema.

Erros


Deve haver a opção de começar a escrever logo após o término da primeira leitura e, em seguida, preencher
o buffer com leituras em segundo plano. Neste momento, a escrita não começará antes do leitor
preencheu o buffer completamente pela primeira vez.

Não é um bug: o código para fazer O_DIRECT é razoavelmente sofisticado. Vai voltar ao normal
E / S em erros. Mas antes de fazer isso, ele conhece os dois requisitos de tamanho de bloco do sistema de arquivos
(será o tamanho do bloco de I / O padrão para qualquer que seja o sistema de arquivos do arquivo de saída) e a página
requisitos de alinhamento (I / O acontecerá de um buffer alinhado por página). No entanto, o
combinação de leituras / gravações simultâneas (opções -c) e O_DIRECT não foi testado além
verificação básica de que alguns testes estão corretos.

Use cstream online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    DivFix + +
    DivFix + +
    DivFix++ é seu reparo de vídeo AVI e
    software de visualização. Ele foi projetado para reparo
    e visualize os arquivos que estão em download
    de ed2k(emule), torrent, gnutella, ftp...
    Baixar DivFix++
  • 2
    Comunidade JBoss
    Comunidade JBoss
    Projetos dirigidos pela comunidade apresentando o
    últimas inovações para a vanguarda
    aplicativos. Nosso projeto emblemático JBoss AS é
    o principal código aberto,
    compatível com os padrões...
    Baixar JBoss Community
  • 3
    Django FilerName
    Django FilerName
    django Filer é um gerenciador de arquivos
    aplicativo para django que faz
    manipulação de arquivos e imagens uma brisa.
    django-filer é um gerenciador de arquivos
    aplicativo para djang...
    Baixar Django Filer
  • 4
    xCAT
    xCAT
    Kit de ferramentas de administração de cluster extremo.
    xCAT é um gerenciamento de cluster escalável
    e ferramenta de provisionamento que fornece
    controle de hardware, descoberta e sistema operacional
    disco cheio/di...
    Baixar xCAT
  • 5
    Psi
    Psi
    Psi é um poderoso XMPP multiplataforma
    cliente projetado para usuários experientes.
    Existem compilações disponíveis para MS
    Windows, GNU/Linux e macOS. Público-alvo:
    Usuários finais...
    Baixar Psi
  • 6
    Voleio Blobby 2
    Voleio Blobby 2
    Continuação oficial do famoso
    Jogo de arcade Blobby Volley 1.x.
    Público: usuários finais / desktop. Do utilizador
    interface: OpenGL, SDL. Programação
    Linguagem: C++, Lua. C...
    Baixar Blobby Volley 2
  • Mais "

Comandos Linux

Ad