GNU/Linux >> Linux の 問題 >  >> Linux

Linux でパイプをレート制限する方法は?

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

Linux
  1. Linux で FTP を使用してファイルを転送する方法

  2. Linux で tar コマンドを使用する方法

  3. Linux でコマンド リダイレクトを使用する方法

  1. Linux でマニュアルページを効果的に使用する方法

  2. Linux で「find」の結果を mv にパイプする方法

  3. Linux で削除されたファイルを復元するには?

  1. Linux で .ppk キーを OpenSSH キーに変換する方法は?

  2. Linux Ubuntu で Wine の下に Office 2010 をインストールする方法を教えてください。

  3. Linuxでファイルを特定のサイズにカットする方法は?