Você também não precisa fazer isso com o systemd. Você tem uma incompatibilidade de protocolo de prontidão. O arquivo da unidade de serviço informa que o programa emprega o protocolo Type=forking
de prontidão. Mas o seu próprio programa, na verdade, não o fez.
O protocolo de preparação forking
é difícil de acertar e é fácil errar. Quase nenhum programa na natureza realmente emprega isso. Apenas faça sua unidade de serviço Type=simple
se é isso que já era para começar.
Além disso, você não precisa se preocupar em "dessenizar" fazendo coisas como fechar descritores de arquivos abertos. Seu programa já está com o nome .
Leitura adicional
- link
- Jonathan de Boyne Pollard (2015). Você realmente não precisa daemonizar. Realmente. . A Casa do Horror.