2010-07-02 5 views
3

Comment spécifier les dépendances entre les scripts init sur CentOS?CentOS init scripts dependecies

E.g. J'ai besoin que lorsque le service "tomcat" est démarré, le premier service de démarrage "soffice".

Gentoo nous pouvons faire:

depend() { 
    need soffice 
} 

Mais qu'en est-CentOS?

Merci d'avance!

Répondre

6

CentOS out of the box utilise un nombre entier pour spécifier le démarrage/arrêt.

Si vous regardez à l'intérieur d'un script d'initialisation, vous verrez le plus probable: chkconfig: - 85 15

premier numéro: priorité début (= faible priorité plus élevée)

Deuxième: Priorité Arrêt (= priorité INFÉRIEURS)

Si vous sautez dans /etc/rc3.d (ou selon le niveau d'exécution).

Les fichiers commencent par un S (début) ou un K (kill, stop) suivi d'un entier. Le même concept s'applique en ce qui concerne les numériques.

Dans certains cas, vous verrez: chkconfig: - 2345 85 15

Pour changer l'ordre, régler simplement ces chiffres.

Ceci représente simplement les niveaux d'exécution (2,3,4,5).

+0

Après avoir modifié l'ordre, vous devez (re) -add: chkconfig off; chkconfig sur – Zabuzzman

+0

Merci pour votre réponse, mais je pense que S est synonyme de début et K est synonyme de tuer –

2

Il y a une section dans le script d'initialisation:

### BEGIN INIT INFO 
.... 
### END INIT INFO 

probablement vous aurez besoin de quelque chose comme ceci:

### BEGIN INIT INFO 
# Provides:   tomcat 
# Required-Start: $network 
# Required-Stop:  $network 
# Default-Start:  3 4 5 
# Default-Stop:  0 1 6 
# X-Start-Before: soffice 
# Short-Description: xxxx 
# Description:  xxxx 
### END INIT INFO 

Plus d'infos: https://wiki.debian.org/LSBInitScripts

Après avoir modifié cette section, vous devez désactiver puis réactivez le service Tomcat:

chkconfig --del tomcat 
chkconfig --add tomcat 
+0

Est-ce que CentOS 6 supporte cela? Leur documentation ne mentionne pas l'utilisation de LSB lors de l'écriture de scripts d'initialisation. ('/ usr/share/doc/initscripts-9.03.40/sysvinitfiles') – Winny