GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menilai batas pipa di bawah linux?

Pipe Viewer memiliki fitur ini.

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

Saya akan mengatakan bahwa Juliano telah mendapatkan jawaban yang benar jika Anda memiliki alat itu, tetapi saya juga menyarankan bahwa ini adalah latihan gaya K&R kecil yang rapi:cukup tulis versi kucing khusus yang membaca satu karakter sekaligus dari stdin , menghasilkan masing-masing ke stdout lalu usleep s sebelum melanjutkan. Pastikan untuk melepaskan penyangga keluaran standar, atau ini akan berjalan agak tersendat-sendat.

Saya menyebutnya slowcat.c :

#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;
}

Kompilasi dan coba dengan

$ ./slowcat 10 < slowcat.c

throttle tampaknya dirancang khusus untuk ini. mis.

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

Linux
  1. Cara menginstal Python di Linux

  2. Cara menginstal Java di Linux

  3. Cara mempartisi disk di Linux

  1. Cara mem-pipe hasil 'find' ke mv di Linux

  2. Bagaimana cara mem-pipe ke perintah split Linux?

  3. Bagaimana cara mengubah kunci .ppk menjadi kunci OpenSSH di Linux?

  1. Bagaimana saya menggunakan cron di Linux

  2. Cara menggunakan FTP di Linux untuk mentransfer file

  3. Bagaimana menginstal office 2010 di bawah Wine di Linux Ubuntu?