22 May, 2012

dd (UNIX) (Linux) command in progress..

How to se progress with "dd" command


To get a progress report while dd is running, you need to open another virtual terminal, and then send a special USR1 signal to the dd process.

First, find out the process id of the dd process by running the following in the new virtual terminal.


@# pgrep -l '^dd$'
   8789 dd
@#


To send the USR1 signal to the dd prcoess:

@# kill -USR1 8789


Note that as soon as the USR1 signal is detected, 

dd will print out the current statistics to its STDERR.

@# dd if=/dev/random of=/dev/null bs=1K count=100
0+14 records in
0+14 records out
204 bytes (204 B) copied, 24.92 seconds, 0.0 kB/s


After reporting the status, dd will resume copying. You can repeat the above kill command any time you want to see the interim statistics. Alternatively, you can use the watch command to execute kill at a set interval.


@# watch -n 10 kill -USR1 8789

Learning dd commands:
cloning exampel could be like this,


@# dd if=/home/marcusik/Downloads/debian-live-8.2.0-amd64-cinnamon-desktop.iso of=/dev/sdg bs=1M conv=notrunc,noerror

and to see how far process came...
  @# sudo pgrep -l '^dd$'
XXXX

@# sudo watch -n 5 kill -USR1 XXXX

No comments: