4 votes

Comment exécuter un script nohup avec upstart ?

Je suis en train de porter quelques scripts de service de style SysV pour HBase (un service Java) vers Upstart.

Les scripts sysv n'appellent pas directement java, mais appellent plutôt hbase-daemon.sh. Il s'agit d'un outil similaire à start-stop-daemon qui est livré avec le package et qui tire beaucoup de configurations et se termine finalement par un nohup java ... & pour exécuter réellement le processus en tant que démon.

Comme la logique de configuration dans hbase-daemon.sh est impliquée, je préférerais ne pas la modifier ou la réécrire (pour supprimer le nohup) et plutôt appeler directement Upstart.

Cela semble être ce pour quoi la clause expect est prévue, sauf que dans mon cas ça ne fonctionne pas. Même avec expect daemon (le cas à deux bifurcations), je finis par suivre le mauvais pid au démarrage du service. Cela suggère que mon scénario se divise trop, ou peut-être que nohup ne devrait pas être géré avec expect, ou encore autre chose.

Comment puis-je utiliser Upstart pour gérer un service qui s'attend à être démarré avec un script qui appelle nohup ?

-1voto

Michael Points 2259

Vous pouvez essayer d'utiliser crontab et entrer ceci dans le terminal :

 crontab -f nohup

puis entrez ceci :

 pyton(version) -v -f echo 'nohup' & disown

puis entrez ceci dans le terminal :

 crontab reboot

Et cela pourrait fonctionner correctement de cette manière.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X