Übertragenes Datenvolumen von dd ausgeben STATUS/SIGINFO/SIGUSR1

Während der Befehl dd läuft, kann man in diversen UNIX-Systemen wie FreeBSD durch Drücken von STRG+T Details ausgeben lassen:

# Testkommando inkl. Ausgabe nach Drücken von STRG+T
dd if=/dev/random of=/dev/null
load: 0.63  cmd: dd 53428 [running] 1.78r 0.01u 1.76s 16% 868k
153125+0 records in
153125+0 records out
78400000 bytes transferred in 1.788752 secs (43829439 bytes/sec)

Auch per kill beziehungsweise pkill kann die entsprechende Ausgabe erzielt werden:

# kill
set prozessid=`pgrep dd`
kill -INFO ${prozessid}

# pkill
pkill -INFO dd

kill(1), pkill(1)

Details zum STATUS Zeichen sind in termios(4) vermerkt.
Das INFO-Signal ist auf Wikipedia erläutert.

Status von dd in Linux ausgeben

In Linux kann dd mit dem Signal USR1 zur Ausgabe des aktuellen Status aufgefordert werden:

# kill
prozessid=`pidof dd`
kill -USR1 ${prozessid}

# pkill
pkill -USR1 dd

pidof(8), kill(1), pkill(1)

Watch & Kill

Um eine Ausgabe in regelmäßigen Abständen zu erhalten, kann das pkill-Kommando mit watch kombiniert werden:

watch -n 10 pkill -USR1 dd

watch(1)

Nähere Informationen zum Kommando finden sich im Blog Linux Commando.