Этот поток является расширением этого потока, где прерывание (CTRL-c) останавливает передачу данных на меньшее.
Я хотел бы создать аналогичное преобразование данных мониторинга системы, как показано в fdupes.
Я думаю, что это может быть достигнуто с помощью GNU screen.
Инструменты tee и buffers могут не понадобиться для этого, поэтому пропустите эти два раздела, если хотите.
Преобразование шестнадцатеричных и тройников [пропустите, если вы знаете]
Для генерации данных примера вы можете использовать любой гексагон-демпер, который вы хотите для задачи, например hexdump -v, od -v -t x1 и xxd -ps.
Вы можете создать двоичные тестовые данные 1GB следующей командой, обсужденной здесь
dd if=/dev/urandom of=sample.bin bs=64M count=16
Позвольте упростить старую ситуацию без цикла while. Предположим, у вас очень большой файл. Вы считаете, что STIN меньше
hexdump -v sample.bin | less -s -M +Gg
Я обсуждаю здесь, как сгенерировать вам большие тестовые файлы.
С большим файлом вы получаете пустой экран, когда вы ничего не нажимаете, поскольку конверсия идет полным ходом.
Когда вы нажимаете CTRL-c, вы получаете данные, которые уже были преобразованы в меньшую сторону в нижней части экрана.
Это не все данные.
Прерывает ли прерывание CTRL-c передачу данных из файла на меньшее?
Возможности для исправления этого
- обновить менее как-то, если преобразование все еще продолжается.
- привязать
teeкоманду здесь как-то
Есть ли способ избежать прерывания преобразования данных, но иметь возможность смотреть поток.
Я думаю, что команда tee может быть одной возможностью.
Буферы [я думаю, не нужны]
stdbuf -i0 -o0 -e0 xxd -ps sample.bin | stdbuf -i0 -o0 -e0 less -s -M +G
который не решает проблему.
Я должен обновить вывод меньше, когда использую флаг R.
Только прерывание покажет что-то в less.
Мне не удалось заставить команду unbuffer работать так же, как stdbuf, обсуждая ее здесь.
Экран
Я думаю, что лучший способ взглянуть на преобразование данных - это запустить все внутри screen.
Логика: введите stdout в less внутри screen.
Прокрутите вывод в screen.
Я выполнил такую задачу, перед которой можно найти в моей статье о screen.
Я должен снова подумать об этом.
Я хотел бы создать аналогичную удобство использования, как в команде fdupes.
Я думаю, что tee и buffer могут даже не понадобиться.
Как вы можете создать экран о окне мониторинга, когда меньше просматривает параллельное преобразование данных?