It only updates the log when I press Ctlt in the first terminal with the dd. Is this because of the nature of dd?
Yes. It is in the nature of
dd to output its current status when it receives a given signal. Under most OSes, this signal is
SIGUSR1, a standard signal but on OS X, it uses for the same a non standard signal named
SIGINFO. Moreover, OS X has a
tty driver setting that allows to send that specific signal with a key combination, CtrlT, just like CtrlC sends
SIGQUIT on all OSes.
I don't know exactly how it writes to devices, but could it be too demanding for the process to take a break and write to the log?
You are precisely asking it to do that with the shortcut. Should you want to have regular automatic updates, nothing forbids you to do a simple shell loop like that one:
while kill -INFO $(pgrep dd); do sleep 5; done
pgrep is available on OS X. Otherwise, pick the
pid of your
dd command and use it as
kill second argument.