Ok, encontrei uma resposta. Estava bem ali na página man de recordmydesktop . Na página man, é evidente que recordmydesktop parará de gravar E salva o vídeo , se receber algum destes sinais: SIGTERM ou SIGINT .
Agora, por padrão, o comando kill envia o sinal SIGTERM . Portanto, se soubermos o pid do processo recormydesktop em execução, podemos simplesmente eliminar o processo normalmente, garantindo que o vídeo também seja salvo.
Aqui está uma maneira de fazer isso:
#!/bin/bash
recordmydesktop --on-the-fly-encoding &
sleep 2700 #keep recording for 45 minutes
kill 'echo $!'