Как я могу считать строки в фиксированной скорости?

Одна вещь можно попробовать:

Если Вы работаете xrandr отдельно, это даст Вам список разрешений для каждого монитора.

Наблюдайте тот, который Вы хотите для каждого монитора.
Теперь на Вашем xrandr строка, которую Вы дали выше, можно также установить разрешение:

xrandr - подробный - производят HDMI1 - режим 1920x1200 xrandr - подробный - произвел VGA1 - режим 1280x1024 xrandr - подробный - произвел HDMI1 - основной - производит VGA1 - лево-HDMI1

5
18.05.2012, 18:28
4 ответа

Если Вы используете удар и каналы, и ищете легкое и грязное решение, можно попытаться использовать sleep.

Можно использовать это, которые действуют как cat но с паузой в каждой строке. while read i; do echo "$i"; sleep 0.01; done. Вот пример в немного меньше чем 100 строках в секунду.

$ time (seq 1 100 | while read i; do echo "$i"; sleep 0.01; done)
[...]
real    0m1.224s
user    0m0.012s
sys     0m0.052s
1
27.01.2020, 20:36
  • 1
    Это может изменить вход. В таких ситуациях всегда 1) набор IFS к пустой строке для предотвращения разделения слова; 2) используйте -r отключить выход обратной косой черты. Возьмите это в качестве тестовой строки: “\\tes \\t”. –  manatwork 18.05.2012, 18:42
  • 2
    В то время как это не решение, я имел в виду, оно очень сделало задание и - то, что я использую.Спасибо. –  Lee Lowder 18.05.2012, 19:03

pv, то, которое доступно как пакет NetBSD, позволяет Вам ограничить уровень канала.

<large_file pv -L 1k | netcat …
7
27.01.2020, 20:36

Возможно, cpulimit полезен. Это ограничивает процент процессорного времени, которое может использовать процесс. Большинство дистрибутивов имеет его в наличии из репозиториев. Проблема состоит в том, хотя та кошка и netcat могут использовать слишком мало CPU, чтобы быть действительно полезными для дросселя.

0
27.01.2020, 20:36

Как оказалось, pv — идеальный инструмент для этого (по крайней мере, pv 1.6.0). С флагом -l (режим строки) пределы -L становятся линиями.

Простые доказательства:

seq 0 1000|pv -l -L100 > /dev/null
1k 0:00:10 [99.6 /s] [           <=>                  

seq 0 10000|pv -l -L1k > /dev/null
10k 0:00:09 [1.03k/s] [          <=>
2
27.01.2020, 20:36

Теги

Похожие вопросы