A partir de man systemd.directives você pode encontrar os documentos para qualquer diretiva systemd. Aqui você pode descobrir que ExecStart= está documentado em man systemd.service .
Os documentos dizem:
redirection using "<", "<<", ">", and ">>", pipes using "|", running programs in the background using "&", and other elements of shell syntax are not supported.
Eles também não são normalmente necessários. systemd já executa aplicativos em segundo plano por padrão, portanto, você não precisa de & . Ele também captura automaticamente a saída para STDOUT e STDERR e a registra para você, portanto, não é necessário redirecionar a saída para um arquivo de log.
Use apenas journalctl -u cmcreader para visualizar os registros do seu serviço ou journalctl para visualizar todos os registros.
Se você não tem certeza sobre a sintaxe de um arquivo systemd, você pode usar:
systemd-analyze verify ./path/to/your.service
Além disso, os arquivos de serviço que você cria estão em /etc/systemd/system . O diretório /lib é para o arquivo de serviço instalado por pacotes, não por seres humanos.
Por fim, enable não inicia o serviço, apenas executa a seção [Install] , definindo o aplicativo para iniciar na inicialização.
Para iniciar o serviço, use systemctl start your.service .