Você normalmente usaria um sistema como o monit ou algo semelhante para lidar com isso.
Em um caso como o autokey (você quer dizer this ?), eu usaria apenas um cronjob que reinicia o processo todas as noites, não importa o que se realmente pendurado depois de alguns dias de tempo de execução. Tudo bem, pois o programa claramente não é essencial. Além disso, registre um relatório de erros significativo.