Cet article explique comment gérer les services à l'aide de systemd .
Introduction
De nombreux systèmes d'exploitation Linux® modernes disponibles sur Rackspace, tels que Centos® 7 et versions ultérieures et Ubuntu® 16.04, ont adopté systemd en tant que gestionnaire de système. Vous voudrez peut-être connaître les tenants et les aboutissants de son utilisation pour gérer vos applications.
Utiliser systemctl
Lorsque vous utilisez systemd pour gérer les applications, vous utilisez la commande systemctl
. Les sections suivantes décrivent plusieurs des fonctions de cette commande.
Démarrer et arrêter les services
Utilisez la commande systemctl start application.service
pour démarrer l'application et la commande systemctl stop application.service
pour arrêter l'application. Si vous ne savez pas si un service est en cours d'exécution, vous pouvez utiliser la commande systemctl status application.service
pour vérifier l'état, comme illustré dans l'exemple suivant :
[root@localhost ~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:httpd(8)
man:apachectl(8)
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Sun 2020-05-24 01:30:02 UTC; 1s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 16117 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─16117 /usr/sbin/httpd -DFOREGROUND
├─16118 /usr/sbin/httpd -DFOREGROUND
├─16119 /usr/sbin/httpd -DFOREGROUND
├─16120 /usr/sbin/httpd -DFOREGROUND
├─16121 /usr/sbin/httpd -DFOREGROUND
└─16122 /usr/sbin/httpd -DFOREGROUND
May 24 01:30:02 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
May 24 01:30:02 localhost.localdomain httpd[16117]: AH00558: httpd: Could not reliably determine
the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName'
directive globally to suppress this message
May 24 01:30:02 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
[root@localhost ~]#
Redémarrer ou recharger les services
Le redémarrage et le rechargement d'un service sont deux choses distinctes avec systemd .
Lorsque vous exécutez la commande systemctl restart application.service
, le service spécifié redémarre. Si le service est dans un état arrêté, il démarre.
Lorsque vous exécutez la commande systemctl reload application.service
, la configuration des servicereloads spécifiés. Par exemple, si vous apportez des modifications à un hôte virtuel Apache® (vhost) et que vous souhaitez que ces modifications soient mises en ligne sans arrêter Apache, vous rechargez le service. Les nouvelles configurations s'effectuent sans interrompre le service.
Activer et désactiver les services
Si vous souhaitez qu'un service spécifique démarre au démarrage du serveur, exécutez la commande systemctl enable application.service
. Si vous voulez vous assurer qu'un service ne démarre pas au démarrage du serveur, exécutez la commande systemctl disable application.service
.