SystemD est le système INIT utilisé par la plupart des distributions Linux modernes. Il gère le démarrage, l'arrêt et le cycle de vie global des services système. Contrairement aux anciens systèmes d'initiés comme Sysvinit, Systemd offre une approche plus sophistiquée et robuste, tirant parti des fonctionnalités telles que la gestion de la dépendance et le démarrage de services parallèles. La gestion des services avec SystemD implique l'utilisation de ses outils de ligne de commande, principalement systemCTL
. Comprendre la structure des unités SystemD (fichiers décrivant les services, cibles et autres composants système) est crucial pour une gestion efficace. Ces unités sont généralement situées dans / etc / systemd / system /
et d'autres répertoires connexes. Les unités elles-mêmes sont généralement écrites dans un langage de configuration simple, ce qui les rend relativement faciles à comprendre et à modifier. Enfin, SystemD fournit un mécanisme de journalisation robuste, ce qui rend le dépannage beaucoup plus simple qu'avec les anciens systèmes d'initiation.
La commande principale pour interagir avec SystemD est systemctl
. Voici quelques commandes communes pour la gestion des services:
Systemctl start & lt; service_name & gt;
. Par exemple, pour démarrer le service SSH, vous utiliseriez SystemCTl Start SSH
. Cette commande initie le service s'il n'est pas déjà en cours d'exécution. Systemctl Stop & lt; service_name & gt;
. Cette commande arrête gracieusement le service spécifié. systemctl restart & lt; service_name & gt;
. Cette commande s'arrête puis démarre le service. Utile pour appliquer des modifications de configuration ou récupérer des problèmes mineurs. Systemctl Active & lt; service_name & gt;
. Cette commande garantit que le service démarre automatiquement au moment du démarrage. SystemD crée des liens symboliques pour placer l'unité de service dans les répertoires de niveau rinal. Systemctl Disable & lt; service_name & gt;
. Cette commande supprime les liens symboliques, empêchant le service de démarrer automatiquement sur le démarrage. Statut Systemctl & lt; service_name & gt;
. Cette commande affiche l'état actuel du service, y compris son PID (ID de processus), son état actif et tous les journaux récents. Il fournit des informations détaillées sur la santé du service. SystemCTL List-Units --Type = Service
. Cette commande répertorie tous les services en cours d'exécution. Vous pouvez ajouter - State = Running
pour filtrer uniquement les services en cours d'exécution. Lorsqu'un service Systemd échoue, plusieurs outils aident à dépasser le statut de dépistage:
Systemctl Statut & lt; Service_name & GT; mentionné précédemment, cette commande est cruciale. Il fournit des informations sur l'état du service, y compris les messages d'erreur le cas échéant pendant le démarrage ou l'exécution. Portez une attention particulière à l'état "échoué" ou "inactif (mort)" et les messages d'erreur suivants.
journalctl: La commande journalctl
est l'outil principal pour afficher les journaux SystemD. Il vous permet de filtrer les journaux en fonction du nom du service, du temps et d'autres critères. Par exemple:
journalctl -u & lt; service_name & gt;
: affiche des journaux spécifiquement pour le service spécifié. journalctl -u & lt; service_name & gt; -Xe
: montre les messages d'erreur les plus récents pour le service. Journalctl -u & lt; service_name & gt; -f
: suit la sortie du journal en temps réel. Utile pour observer le comportement du service pendant le dépannage. / etc / systemd / System /
.service
. Voici un exemple de base d'un fichier de service: <code class="ini"> [unité] description = mon service personnalisé après = network.target [service] type = simple utilisateur = myuser groupe = myGroup execstart = / path / to / my / script.sh restart = toujours restartSec = 5 [install] WantedBy = multi-user.target </code>
[unité]
Section: contient des métadonnées sur le service, y compris sa description et ses dépendances. <li> <strong> <code> [Installer]
Section: Spécifie où le service doit être placé dans la hiérarchie Systemd. Après avoir créé ce fichier (Eg, /tc/systemd/System/MyCydingService.Service
), vous avez besoin à:
Systemctl Daemon-RELOAD
Systemctl Activer MyCustomService Code>
Systemctl Startl Startl Startl MyCustomService
Statut SystemCTL MyCustomService
N'oubliez pas de remplacer les espaces réservés comme /path/to/my/script.sh
, Myuser
, et MyGroup Code> par votre valeur réelle
, et La définition correcte de l'utilisateur et du groupe est essentielle pour la sécurité. Les options <code> redémarrer = toujours
et restartsec = 5
garantissent que le service redémarre automatiquement en cas de plantage, en attendant 5 secondes avant d'essayer un redémarrage. Testez toujours votre service personnalisé soigneusement avant de le déployer dans un environnement de production.
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!