On entend souvent les mots service et démon, que signifient-ils ? Y a-t-il des différences et des liens entre eux ? Les services sous Linux sont des programmes qui résident en mémoire et peuvent fournir certaines fonctions système ou réseau. La traduction littérale de démon est processus démon ou processus d'arrière-plan. Ainsi, vous pouvez considérer le service et le démon comme une seule et même chose sans les distinguer.
Mécanisme de gestion des premiers init
Dans centOS6, le mécanisme de gestion des services d'initialisation était encore utilisé. Voici une brève introduction, car certaines choses peuvent encore être utilisées dans centOS7. Examinez principalement les fonctionnalités suivantes :
Démarrage, arrêt et vérification de l'état des services, etc.
Démarrer le service : /etc/ init.d/ nginx start
Redémarrer le service : /etc/init.d/nginx restart
Fermer le service : /etc/ init.d/nginx stop
Vue de l'état : /etc/init.d/nginx status
Méthode de démarrage du service
Démarrage indépendant : la plupart des services adoptent ce mode, comme mysqld commun, php-fpm, nginx, httpd et d'autres services.
Hébergé et démarré par un super démon : le démarrage de ces services est hébergé par un autre service. Le service qui héberge ces services devient un super démon. Les super démons courants incluent inetd et xinetd.
Niveau d'exécution
Il existe 7 niveaux d'exécution sous Linux, à savoir 0, 1, 2, 3, 4, 5 et 6. Ceux couramment utilisés incluentll /etc/rc3.d/S55nginx lrwxrwxrwx 1 root root 15 Sep 21 11:30 /etc/rc3.d/S55nginx -> ../init.d/nginx
Service de démarrage automatique au démarrage
mécanisme de gestion systemd
Depuis centos7, le mécanisme de gestion d'initialisation précédent a été abandonné et systemd a été utilisé à la place. Jetons un coup d'œil à ce qui est différent dans la gestion systemd.Traitez tous les services en parallèle pour accélérer le processus de démarrage.
Contrairement à init qui démarre les services un par un, systemd peut démarrer plusieurs services en même temps. Par conséquent, cela accélérera considérablement le temps d’attente pour le démarrage.Résoudre les dépendances du service
Par exemple, pour démarrer le service B, vous devez d'abord démarrer le service A. À ce stade, utilisez systemd pour démarrer le service B, et il le fera vérifie automatiquement la dépendance, puis démarre le service A avant de démarrer le service B.type d'unité
Par rapport au démon autonome et au super démon, qui n'ont que deux méthodes de démarrage dans init, systemd définit une unité de service unifiée (unité) et une unité divisée en : service, socket, cible, chemin, instantané, minuterie et autres types.Script de service d'initialisation rétrocompatible
L'ancien script de démarrage du service sous /etc/inid.d/ peut également être géré via systemd. Remarque : Si vous démarrez manuellement le script de démarrage du service dans le répertoire /etc/init.d, systemd ne pourra pas détecter l'état d'exécution du service.# systemctl status mysqld ● mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled) Active: active (running) since Wed 2020-10-28 13:26:53 CST; 1 weeks 5 days ago …… # /etc/init.d/mysqld restart Shutting down MySQL.... [ OK ] Starting MySQL. [ OK ] [root@lijia ~]# systemctl status mysqld ● mysqld.service - LSB: start and stop MySQL Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled) Active: active (exited) since Wed 2020-10-28 13:26:53 CST; 1 weeks 5 days ago ……
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!