Eu tenho um /etc/init/myservice.conf
. Na reinicialização, ele está funcionando sem problemas. O serviço é um servidor da web java, por exemplo:
java -jar myhttpserver.jar
Mas! Não consigo parar ou reiniciar manualmente o serviço. Se eu fizer:
service myservice stop
Então o terminal trava. Se eu Ctrl + C e tentar novamente, ele me diz stop: Job has already been stopped: myservice
. Acho que está mentindo porque ainda posso acessá-lo usando um navegador da web. initctl list
mostra isso:
myservice stop/killed, process 1303
Por que não pode ser parado? Como faço para reiniciá-lo manualmente? Quero testar o servidor, substituindo o jar e reiniciando o serviço.
FWIW, é uma instância do Google Compute Engine com o Ubuntu 14. O arquivo conf:
description "server instances"
author "Me"
start on runlevel [2345]
stop on shutdown
#Respawn the process if it crashes
respawn
#If it respawns more than 10 times in 5 seconds stop
respawn limit 10 5
expect fork
script
logPath="/var/log/myservice"
mkdir -p $logPath
logFile="/"$logPath"/"$(date +'%Y-%m-%d-%H-%M-%S')
java -cp /home/myuser/dev.jar com.myservice.Main dev > $logFile"_dev_std" 2> $logFile"_dev_err"
end script