Как получить dd для печати статистики передачи в MacOS?
Для MacOS (Mavericks) я создаю оболочку script для сбора статистики передачи с течением времени для команды dd
.
На странице руководства написано:
Если dd получает SIGINFO (см. аргумент состояния для stty (1)), текущие значения входного и выходного блоков будут записаны в стандартный вывод ошибки в том же формате, что и стандартное завершение сообщение.
Поэтому, как и в Linux, я пробовал:
kill -INFO <pid_of_dd>
Команда успешно завершила состояние 0, однако терминал, с которым связан процесс dd
, не имеет информации о статистике в стандартном выпуске/стандартной ошибке.
Итак, каков правильный способ получить dd
для печати статистики в своем выходе?
Ответы
Ответ 1
Кажется, это работает для меня:
$ dd if=/dev/zero of=/dev/null bs=1k &
[1] 33990
$ kill -INFO 33990
4787784+0 records in
4787784+0 records out
4902690816 bytes transferred in 4.260769 secs (1150658706 bytes/sec)
$ kill -INFO 33990
8357846+0 records in
8357846+0 records out
8558434304 bytes transferred in 7.428820 secs (1152058392 bytes/sec)
$ kill 33990
$ ps
PID TTY TIME CMD
1342 ttys000 0:00.02 -bash
2290 ttys001 0:00.17 -bash
[1]+ Terminated: 15 dd if=/dev/zero of=/dev/null bs=1k
$
Ответ 2
Вы также можете нажать Ctrl + T на вкладке "Терминал", чтобы получить такое же поведение:
MacBook-Pro:~ $ dd if=~/source_image.dmg of=/dev/disk1
load: 0.87 cmd: dd 7229 uninterruptible 0.21u 3.91s
265809+0 records in
265808+0 records out
136093696 bytes transferred in 131.170628 secs (1037532 bytes/sec)
load: 0.99 cmd: dd 7229 uninterruptible 0.32u 5.89s
415769+0 records in
415768+0 records out
212873216 bytes transferred in 203.357068 secs (1046795 bytes/sec)
Ответ 3
Я также нашел через commandlinefu, что вы также можете сделать:
killall -INFO dd
Если вам нужно было запустить sudo dd
, чтобы запустить dd
, вы можете попробовать:
sudo killall -INFO dd
Кроме того, я запустил dd
в фоновом режиме и с помощью nohup
, поэтому, когда я запустил sudo killall -INFO dd
и ничего не получил для вывода, мне пришлось помнить, что нужно пойти и посмотреть файл nohup.out
, потому что здесь ответ был зарегистрирован.
Отлично работает на OS X Mavericks.