dd if=/dev/urandom of=file.img bs=4KB& pid=$!; while [[ -d /proc/$pid ]]; do kill -USR1 $pid && sleep 1 && clear; done


Команда dd if=/dev/urandom of=file.img bs=4kb& pid=$!; while [[ -d /proc/$pid ]]; do kill -usr1 $pid && sleep 1 && clear; done используется для отслеживания прогресса выполнения команды dd, которая используется для копирования данных.

Команда dd копирует содержимое источника (в данном случае /dev/urandom) в файл (в данном случае file.img) с определенным размером блока (в данном случае 4 килобайта).

Чтобы отследить прогресс выполнения этой команды, мы используем процесс идентификатор (PID), который сохраняется в переменной $!. Затем мы запускаем цикл while, который проверяет, существует ли каталог /proc/$pid, где $pid — это PID процесса.

Внутри цикла, мы отправляем сигнал USR1 процессу с помощью команды kill. Этот сигнал приводит к выводу статистики о прогрессе выполнения команды dd.

Затем мы ждем одну секунду с помощью команды sleep и очищаем экран с помощью команды clear.

Возможной альтернативой для отслеживания прогресса выполнения команды dd может быть использование утилиты pkill для отправки сигнала USR1 процессу dd:

pkill -USR1 dd

Она будет идентифицировать процесс dd автоматически, основываясь на его имени.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *