GNU/Linux >> Znalost Linux >  >> Linux

Jak hodnotit-limitovat potrubí pod linuxem?

Tuto funkci má Pipe Viewer.

cat /dev/urandom | pv -L 3k | foo

Řekl bych, že Juliano má správnou odpověď, pokud máte tento nástroj, ale také bych navrhl, že jde o úhledné malé cvičení ve stylu K&R:stačí napsat specializovanou verzi kočky, která čte jeden znak po druhém z 06 , vypíše každý na 19 a poté 21 s před pokračováním. Nezapomeňte uvolnit vyrovnávací paměť standardního výstupu, jinak to poběží dost trhaně.

Nazval jsem to 37 :

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char**argv){
  int c;
  useconds_t stime=10000; // defaults to 100 Hz

  if (argc>1) { // Argument is interperted as Hz
    stime=1000000/atoi(argv[1]);
  }

  setvbuf(stdout,NULL,_IONBF,0);

  while ((c=fgetc(stdin)) != EOF){
    fputc(c,stdout);
    usleep(stime);
  }

  return 0;
}

Zkompilujte jej a zkuste s

$ ./slowcat 10 < slowcat.c

Zdá se, že plyn je navržen speciálně pro tohle. např.

cat /dev/urandom | throttle -k 3 | foo

Linux
  1. Jak nainstalovat Python na Linux

  2. Jak nainstalovat Javu na Linux

  3. Jak rozdělit disk v Linuxu

  1. Jak převést potrubí /dev/urandom do linuxového zvukového výstupu?

  2. Jak převést klíč .ppk na klíč OpenSSH pod Linuxem?

  3. Jak nainstalovat Office 2010 pod Wine v Linuxu Ubuntu?

  1. Jak používat BusyBox na Linuxu

  2. Jak používám cron v Linuxu

  3. Jak oříznout soubor na danou velikost pod Linuxem?