Então, depois de receber uma sugestão de Glenn Jackman, comecei a passar mais algum tempo olhando para o upstart / systemd. Eu acabei olhando para o systemd e descobrindo uma série de aspectos do que eu estava procurando.
uma das preocupações era que até agora eu precisava executar o software em um ambiente raiz, já que alguns dos softwares de fornecedores que eu usava exigiam isso. Parece que quando você configura um serviço com o systemd, tudo é executado com privilégios de root. Então, isso resolveu um dos meus problemas.
No que diz respeito ao lançamento durante a inicialização e o gerenciamento de qualquer desligamento do software, ele foi tratado com um arquivo de unidade muito simples, localizado em /lib/systemd/system/app.service
[Unit]
Description=this does something
WantedBy=multi-user.target
[Service]
exec executes my app
Restart
RestartSec
[Install]
wantedBy=multi-user.target
Em seguida, ativei o novo serviço através do uso de systemctl
sudo systemctl enable app.service
sudo systemctl daemon.reload
sudo systemctl start app.service
isso ativou o lançamento na inicialização e testou agora.
Mais uma vez obrigado a Glenn por me apontar na direção certa.