Изредка возникает задача автостарта приложения при запуске ОС и перезапуске при его падении. Если вы используете docker, то проблема решается restart флагом. Если же у вас один бинарный файл и достаточно свежий Linux, то лучше для этого использовать существующие в системе инструменты. Речь о systemd.
Достаточно написать простой кнофигурацинный Unit-файл, включить его автозагрузку при старте системы командой systemctl enable имя_сервиса. И запустить подкомандой start.
Напомню, что логи сервисов можно посмотреть с помощью команды journalctl.
Минимальная конфигурация, подходящая для сетевых сервисов: https://gist.github.com/ryankurte/4f00605ced06613b3b1354d08d25ec5f>