Hoe kan ik bij gebruik van het Linux commando dd een statusweergave krijgen, zodat ik weet hoeveel data er al verwerkt is?
Vroeger moest je daarvoor de hulp inroepen van bijvoorbeeld pv (‘pipe viewer’). Bij moderne Linux-distributies is dat niet meer nodig. De daarin aanwezige dd heeft namelijk wel een voortgangsindicatie die je met de optie status kunt laten weergeven:
dd if=foo.iso of=/dev/sdz status=progress
Je krijgt alleen exacte waarden te zien als je de writecache van de kernel omzeilt, bijvoorbeeld met de optie oflag=direct. Wel moet je dan ook het gebruik van grotere blokken activeren (bijvoorbeeld met bs=4M), anders kan de kopieersnelheid flink teruglopen. Soms merk je pas een tijdje na het starten van dd dat je vergeten bent de statusoptie mee te geven. Je kunt dan met het SIGUSR1-signaal eenmalig de voortgang laten weergeven. Dat gaat het makkelijkst door in een tweede terminal het volgende commando uit te voeren:
killall -USR1 dd
Dit commando stuurt het signaal naar alle actieve dd-processen, vandaar dat ze ook allemaal hun status weergeven. Als je dat niet wilt, kun je kill -USR1 gebruiken en daarachter het nummer (process-identifier / PID) van het gewenste dd-proces opgeven.