Question Un démon meurt mais le parvenu pense qu'il fonctionne toujours


Si le processus démon meurt, je ne peux pas le redémarrer manuellement: start foo résulte en un message indiquant que "start: Job est déjà en cours d'exécution: foo", et stop foo pend indéfiniment.

start on runlevel [2345]
stop on runlevel [016]

kill timeout 90
expect daemon

pre-start script
  rm -f ${HOME}/RUNNING_PID
end script

exec start-stop-daemon \
  --pidfile ${HOME}/RUNNING_PID --chuid $USER:$GROUP \
  --exec ${HOME}/bin/run --start > run.log 2>&1

Il n'y a pas de processus appartenant à $ USER et pas de pidfile, alors pourquoi upstart pense-t-il que le démon est toujours en cours d'exécution, et comment puis-je le convaincre du contraire?


5
2018-02-19 00:26


origine




Réponses:


Solution: renommez le foo service à foo2...

Voir https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582745


6
2018-02-19 01:11



Je peux confirmer que c'est vrai. À moins d’un redémarrage, il n’existe aucun moyen pratique de convaincre les nouveaux arrivants que son état interne est erroné. Source: Gestion d'un environnement de production très complexe, confronté à cette situation en raison d'une mauvaise construction de démon. - caskey