Você pode suspender apenas awk e liberar o tubo que está lendo antes de reiniciá-lo. Nos sistemas baseados em Linux e com o GNU dd :
Em que $pid é o PID de awk :
kill -s STOP "$pid"
para pará-lo e
dd iflag=nonblock if="/proc/$pid/fd/0" > /dev/null; kill -s CONT "$pid"
para retomar.
Supondo que o pipe não ficou cheio (64KiB por padrão no Linux), caso contrário, tail poderia ter sido bloqueado também. Para contornar isso você poderia liberar o tubo com:
socat -T0.2 -u "/proc/$pid/fd/0" /dev/null
Isso limparia o que está no canal e continuará lendo até que não haja mais 0,2 segundos para permitir que tail fique em dia com o que ainda não leu no arquivo.