Supervisord — система контроля процессов для Linux. По-простому, это штука которая следит чтобы ваш процесс был всегда запущен с установленной конфигурацией. Система следит что процесс работает и перезапускает если процесс падает.
Установка supervisor:
sudo apt-get install supervisor service supervisor start
Добавление конфигурации в supervisord.conf (либо создайте отдельно /etc/supervisor/conf.d/server.conf):
[program:server] process_name=%(program_name)s_%(process_num)02d command=/home/pi/my-server environment=DB=smth,DB_2=smth,SOME_SECRET=some-secret autostart=true autorestart=true user=pi numprocs=1 redirect_stderr=true stdout_logfile=/home/pi/server.log
В примере выше мы запускаем команду /home/pi/my-server от пользователя pi (пользователь в Raspberry Pi по умолчанию) и пишем stdout процесса в /home/pi/server.log
Далее стартуем наш процесс:
sudo supervisorctl start server:server_00