Privacy Policy
Un comando abbastanza sconosciuto, ma molto potente dei sistemi Unix è dd, utilizzato prevalentemente per effettuare copie di interi device fisici.
Analizzando le opzioni d’esecuzione dell’implementazione GNU del comando (quella utilizzata da tutte le distribuzioni Linux), sembra non esistere
un sistema per monitorare lo stato d’avanzamento, situazione insostenibile nel caso in cui si stia effettuando la copia fisica di un intero device
(come ad esempio un hard disk).
Ho usato appropriatamente il termine “sembra non esistere”, perché il sistema c’è eccome e consiste semplicemente nell’inviare una 
Signal di tipo USR1 al PID che identifica il processo dd in esecuzione.
Ad esempio, supponiamo d’aver lanciato il seguente comando:
$ dd if=/dev/sda of=file.img bs=1M
per verificarne lo stato d’avanzamento, per prima cosa ne reperiamo il PID attraverso il seguente comando
(eseguito ovviamente da un’altro terminale):
$ ps -eaf | grep dd

...

root       2423  2417  8 18:38 pts/2    00:00:00 dd if=/dev/sda of=file,img bs=1M

...
stabilito che il PID del processo è 2423, inviamo ora la signal di tipo USR1 tramite il seguente comando:
$kill -USR1 2423

ed a questo punto sul terminale in cui è stato lanciato il dd, apparirà lo stato d’avanzamento:

3155+0 record dentro
3155+0 record fuori
3308257280 byte (3,3 GB) copiati, 60,7201 s, 54,5 MB/s
Per semplificare il tutto, normalmente lancio il dd in background con questo comando:
$ dd if=/dev/sda of=file.img & pid_dd=$!
per poi effettuare l’inoltro della Signal nel seguente modo:
$ kill -USR1 $pid_dd
 
Potete trovale la fonte : QUI
Altre informazioni anche qui
Categorie: bashlinux

stefano.negro

Nato a Genova dove vivo attualmente. Amante della tecnologia, del trekking e della montagna. Uso Mac, Linux e altro. 49ers and Genoa fan. https://twitter.com/stblack https://it.gravatar.com/stewenergy

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

%d blogger hanno fatto clic su Mi Piace per questo: