Question Existe-t-il un délai d'attente pour l'exécution des scripts init.d au cours du processus de démarrage?


Je crée quelques scripts qui sont enregistrés pour s'exécuter au démarrage du serveur sous CentOS 6.5.

L'un de ces scripts a une boucle while qui bloque jusqu'à ce qu'il trouve un message de démarrage réussi dans le journal d'un autre processus également en cours de démarrage pendant le démarrage (init.d).

Si ce service sur lequel mon script a une dépendance, n'enregistre jamais le démarrage réussi dans son fichier journal et que mon script reste bloqué dans la boucle while pour toujours, ce scénario spécifique rendra-t-il le système d'exploitation complètement bloqué et ne démarrera-t-il pas? Existe-t-il un délai d'attente pour les scripts init.d?

Mes scripts sont enregistrés pour être exécutés sur le fichier rc.local.


5
2017-09-10 11:49


origine


Pourquoi vérifiez-vous que l'autre service démarre, au lieu de laisser le système init le gérer? - Michael Hampton♦
@ MichaelHampton - Parce qu'il y a une dépendance sur le service dont j'ai besoin pour démarrer. Il ne peut être démarré si d'autres processus et port spécifiques sont en cours d'exécution. Il doit être connecté à cet autre processus pour pouvoir démarrer correctement. - Marcos Maia


Réponses:


Si un script init.d ne se termine pas, le démarrage normal du système sera interrompu indéfiniment.

Une solution courante consiste à incorporer un compteur dans la boucle while et à sortir avec un message d'erreur après un nombre donné de boucles while. Si vous attendez une commande externe sans option de délai d'attente, consultez la rubrique ce question.


6
2017-09-10 12:01