A unidade systemd está definida como Type=forking
e ExecStop=
é usada com um comando assíncrono.
O que significa que systemd irá matar o processo principal logo após
/opt/evercam_media/bin/evercam_media stopsai. E
Restart=always
é usado em vez de Restart=on-failure
.
Conforme indicado na documentação :
Note that it is usually not sufficient to specify a command for this setting that only asks the service to terminate (for example, by queuing some form of termination signal for it), but does not wait for it to do so. Since the remaining processes of the services are killed according to
KillMode=
andKillSignal=
as described above immediately after the command exited, this may not result in a clean stop. The specified command should hence be a synchronous operation, not an asynchronous one.
Existem várias abordagens que você pode adotar para corrigir isso. Use TimeoutSec=
ou use um sinal de eliminação que não torne evercam_media
return 1 ou encontre uma maneira de tornar seu ExecStop=
síncrono.
Quanto às mensagens de log, consulte os sinalizadores de detalhamento para evercam_media
.