Não, você deve nunca adicionar &
a ExecStart
. Isso fará com que o sistema pense que a sua unidade é o processo que faz a bifurcação. Além disso, você não precisa de ExecStop
para um serviço que entende SIGTERM (o servidor embutido do flask faz), o systemd sabe para onde enviar o sinal.
i.e. O systemd rastreia o PID que ExecStart
iniciou e sabe onde enviar SIGTERM quando você pede para finalizar o processo.
(Uma unidade type=
pode tornar os garfos um pouco mais complicados do que isso. Mas a unidade padrão type=
considera que não há garfos.)
Extra
A execução do servidor de frascos embutido atrás do Nginx irá torná-lo muito vulnerável a até mesmo um ataque DoS trivial . O servidor embutido no frasco não é destinado ao uso em produção. Com o Nginx, você deve usar algo como uWSGI .
Os documentos do Flask têm uma seção no uwsgi , e você pode mapear facilmente a linha de comando para editar Opções do arquivo de configuração do uWSGI. E os documentos do uWSGI têm uma seção no systemd . E você realmente deveria estar usando o systemd para iniciar um servidor web real como o uWSGI, não o frasco embutido.