Na verdade, encontrei a solução perfeita para isso. Ele requer upstart , portanto, é muito mais fácil do que os serviços padrão, runit e systemd .
Aqui está uma instrução mais detalhada: link
E é algo como:
Em /etc/init/my_program_upstart_script.conf :
start on my_event
respawn
exec /home/my_user/my_program/my_program_executable
Sim, tão simples!
Basta executar o programa com sudo initctl emit my_event .