It only updates the log when I press Ctlt in the first terminal with the dd. Is this because of the nature of dd?
Sim. É da natureza de dd emitir seu status atual quando recebe um determinado sinal. Na maioria dos sistemas operacionais, esse sinal é SIGUSR1 , um sinal padrão, mas no OS X ele usa para o mesmo sinal não padrão chamado SIGINFO . Além disso, o OS X possui uma configuração de driver tty que permite enviar esse sinal específico com uma combinação de teclas, Ctrl T , assim como Ctrl C envia SIGQUIT em todos os sistemas operacionais.
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?
Você está precisamente pedindo para fazer isso com o atalho. Se você quiser ter atualizações automáticas regulares, nada o proíbe de fazer um simples loop de shell como esse:
while kill -INFO $(pgrep dd); do sleep 5; done
Isso pressupõe que pgrep esteja disponível no OS X. Caso contrário, escolha o comando pid do seu dd e use-o como kill second argument.