Pipe Viewer にはこの機能があります。
cat /dev/urandom | pv -L 3k | foo
そのツールを持っているなら、Juliano は正しい答えを持っていると思いますが、これはちょっとした K&R スタイルの演習であることもお勧めします。>07 、それぞれを 10
に出力します そして 22
次に進む前に。必ず標準出力のバッファリングを解除してください。そうしないと、かなりぎこちなく実行されます。
これを 39
と呼びました :
#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;
}
コンパイルして試してみてください
$ ./slowcat 10 < slowcat.c
スロットルは特別に設計されているようです このため。例
cat /dev/urandom | throttle -k 3 | foo