Je pense avoir lu quelque chose il y a quelque temps à ce sujet, mais je ne me souviens pas comment cela s'est passé. Pour l’essentiel, j’ai un service dans /etc/init.d
lequel je voudrais démarrer automatiquement au démarrage. Je me souviens que cela a quelque chose à voir avec la création de liens symboliques dans le /etc/rc.d
répertoire, mais je ne m'en souviens pas pour le moment. Quelle est la commande pour cela?
Je crois que je suis sur un dérivé de Fedora / CentOS.
fedora
boot
init-script
Naftuli Kay
la source
la source
/etc/init
,/etc/init.d
,/etc/rc.d
,/etc/rc.local
et un peu plus t - il?Réponses:
Comme vous l'avez mentionné, si vous utilisez un système Red Hat, vous pouvez effectuer les opérations suivantes:
/etc/init.d
(par exemple/etc/init.d/myscript
). Le script doit avoir le format suivant:Le format est assez standard et vous pouvez voir les scripts existants dans
/etc/init.d
. Vous pouvez ensuite utiliser le script comme suit/etc/init.d/myscript start
ouchkconfig myscript start
. Lackconfig
page de manuel explique l’en-tête du script:Les exemples de code de démarrage, d'arrêt et d'état utilisent les fonctions d'assistance définies dans
/etc/init.d/functions
Activer le script
Vérifiez que le script est bien activé - vous devriez voir "activé" pour les niveaux que vous avez sélectionnés.
la source
Vous testez le niveau d'exécution de votre machine.
C'est souvent 5 ou 2 - il y a différentes conventions, mais rien n'est vraiment établi, autant que je sache. Ubuntu utilise 2, alors que l'ancienne distribution que j'ai utilisée a toujours utilisé
Ensuite, vous faites un lien symbolique à partir de votre init-script, peut-être
/etc/init.d/foobar
pour/etc/rc2.d/SXYfoobar
S signifie 'Démarrer ce script dans ce niveau d'exécution (ici: 2). XY est un nombre décimal à deux chiffres, pertinent pour la séquence; les scripts sont démarrés.
Si vous dépendez du script S45barfoo pour s'exécuter avant vous et que S55foofoo dépend de votre script, vous choisirez xy entre 45 et 55. À nombre égal, l'ordre de démarrage n'est pas défini.
Pendant ce temps, Ubuntu est passé (est en train de passer) à une autre procédure de démarrage, appelée
upstart
.Et remarque: pas toujours les liens pointant vers
/etc/rcX.d
- parfois,/etc/init/rcX.d
ou quelque chose de similaire, mais il devrait être facile à trouver, quelque part en dessous de / etc.Si vous souhaitez démarrer quelque chose à la fin des scripts de démarrage, recherchez
/etc/rc.local
un fichier, mais si cela dépend de X11 déjà en cours d'exécution, vous pouvez rechercher une option de démarrage automatique de votre environnement de bureau ou/etc/X11/Xsession.d/
un modèle similaire à celui décrit. au dessus de.Si vous dépendez de la disponibilité du réseau, il existe un répertoire séparé (if-up.d) et pour les périphériques montés, tels que les lecteurs USB externes
/etc/udev/rules.d/
.la source
update-rc.d
?Comme Naftuli Tzvi Kay l'a interrogé à propos de Debian ci-dessus: À compter de Debian 6, votre script devrait contenir un en-tête LSB (Linux Standards Base) qui indique ses dépendances et ses fonctionnalités ( voir la page du wiki debian ).
Si un en-tête LSB est présent, vous pouvez utiliser
insserv
pour inclure votre script dans le processus de démarrage ( voir une autre page du wiki debian ).la source