Acho que você está criando um arquivo de unidade e ele deve ser usado com o systemctl.
Então, tente este systemctl start myservice
.
Eu tenho um arquivo war com o qual posso executar: java -jar /opt/path/to/my.war
Esse mesmo comando está em um arquivo para o serviço que se parece com isso:
[Unit]
Description=My Service
[Service]
WorkingDirectory=/opt/path/to/
ExecStart=/opt/path/to/jre8/jre/bin/java -jar /opt/path/to/my.war --spring.profiles.active=prod
PIDFile=/opt/path/my.pid
[Install]
WantedBy=multi-user.target
Quando executo service myservice start
, o serviço é iniciado como seria com o comando sozinho. A diferença é que, com o service
, o carregamento de uma página da Web produz um erro no console do navegador:
Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:nomod] Module 'myApp' is not available!
O navegador exibe uma página em branco.
Observe que /opt
está disponível apenas por sudo su
. Executando o comando apenas em su
works. Então, o problema é que algo está acontecendo de forma diferente quando o serviço executa o comando, mas eu não sei o que ..
Acho que você está criando um arquivo de unidade e ele deve ser usado com o systemctl.
Então, tente este systemctl start myservice
.