J'ai un service particulier (dans ce cas OpenFire) qui s'exécute au démarrage. Lorsqu'il démarre, il tente de se connecter à une base de données à un nom d'hôte donné. Au démarrage, il ne parvient pas à se connecter à cette base de données car il ne peut pas trouver l'hôte dans DNS.
Ma meilleure hypothèse est que ce service s'exécute au démarrage avant l'initialisation de la mise en réseau et que les serveurs DNS ont été obtenus à partir de DHCP. Existe-t-il un moyen de spécifier les dépendances de service de démarrage à respecter avant l'exécution du script /etc/init.d/
?
Vous pouvez chercher le service dans /etc/rc0.d, il aura S ## [nom], c'est-à-dire - S35networking
Donc, si vous faites dire S36openfire, il devrait se charger juste après la mise en réseau. Ou faites le nombre 99 et il se chargera en dernier, donnant au réseau le temps de le faire.
J'espère que ça va faire l'affaire pour vous.
Oubliez le débutant. Il existe des moyens beaucoup plus faciles de le faire. Mettez un script qui lance Openfire ici:
/etc/network/if-up.d/
Si openfire doit fonctionner en tant qu'utilisateur, procédez comme suit:
#!/bin/sh
su -c "openfire" myUserName
Assurez-vous de le marquer comme exécutable:
Sudo chmod +x /etc/network/if-up.d/openfire
De même, vous pouvez fermer openfire lorsque vous perdez votre connexion réseau, en insérant un script dans /etc/network/if-down.d/ qui le supprime:
#!/bin/sh
killall openfire