J'ai un processus que je veux commencer dès que mon système est rebooted
par quelque moyen que j'utilisais upstart
script pour cela mais parfois ce que je remarque est mon processus ne démarre pas pendant le redémarrage dur (brancher et démarrage de la machine) donc je pense que mon script parvenu ne sera pas kické après le redémarrage dur. Je crois qu'il n'y a pas de niveau d'exécution pour Hard Reboot.Comment faire pour déboguer un script par défaut qui échoue par intermittence?
Je suis confus que pourquoi parfois pendant le redémarrage il fonctionne, mais parfois cela ne fonctionne pas. Et comment puis-je déboguer cela?
ci-dessous est mon script arriviste:
# sudo start helper
# sudo stop helper
# sudo status helper
start on runlevel [2345]
stop on runlevel [!2345]
chdir /data
respawn
pre-start script
echo "[`date`] Agent Starting" >> /data/agent.log
sleep 30
end script
post-stop script
echo "[`date`] Agent Stopping" >> /data/agent.log
sleep 30
end script
limit core unlimited unlimited
limit nofile 100000 100000
setuid goldy
exec python helper.py
Est-il possible de déboguer ce ce qui se passe? Je peux facilement reproduire ceci je crois. Des indications sur ce que je peux faire ici?
Note:
Au cours de redémarrage parfois je vois l'enregistrement que j'ai dans le script pre-start
mais parfois je ne vois pas du tout l'enregistrement après le redémarrage et cela signifie que mon script arriviste n'a pas été déclenché. Y a-t-il quelque chose que je dois changer sur le niveau d'exécution pour le faire fonctionner?
J'ai une machine virtuelle qui s'exécute dans un hyperviseur et je travaille avec Ubuntu.
Vous pouvez remplacer temporairement votre helper.py' 'python exec avec quelque chose comme:' 'script' exec 2 >>/chemin/vers/log.txt' 'set -x'' exec python helper.py' 'fin script'; de cette façon, vous avez un enregistrement dans '/ path/to/log.txt' de ce qui s'est passé au démarrage. –
Pouvez-vous vérifier '/ var/log/upstart' et voir si cela a quelque chose dont vous avez besoin? –
déjà vérifié et il n'y a rien dans ce que je crois. – john