Systemd est une suite logicielle moderne qui fournit de nombreux composants sur un système Linux, notamment un gestionnaire de système et de service. Il est compatible avec SysV et LSB init scripts et fonctionne en remplacement de sysvinit.

Un service systemd est défini dans un fichier d’unité (une unité est une représentation d’un service et de ressources système telles que des périphériques, des sockets, des points de montage, etc.). Les fichiers d’unité de service personnalisés doivent être stockés dans le /etc/systemd/system/ répertoire et doit avoir un .service extension. Par exemple, une coutume application de test utilisations des services /etc/systemd/system/test-app.service fichier d’unité.

Un fichier d’unité est un fichier de style ini en texte brut qui comprend généralement trois sections communes. La première section est généralement la Unité section qui contient des informations génériques sur l’unité qui ne dépendent pas du type d’unité.

La section suivante est la section de type d’unité, pour un service, c’est un Service section. Et la dernière section est la Installer section contenant des informations sur l’installation de l’unité.

Publicité

Dans ce guide, nous montrerons comment créer un nouveau systemd service et gérez le service à l’aide de la commande systemctl, sous Linux.

Création d’un fichier de service Systemd personnalisé sous Linux

Pour exécuter une application, un programme ou un script en tant que service sous systemd, vous pouvez créer un nouveau service systemd comme suit. Commencez par créer le service unité fichier nommé test-app.service (n’oubliez pas de remplacer application de test avec le nom réel de votre service ou application), sous /etc/systemd/system/:

# vi /etc/systemd/system/test-app.service

La configuration suivante est utilisée pour définir un service pour exécuter un Ballon application utilisant Gunicorneun serveur HTTP Python WSGI pour UNIX.

[Unit]
Description=Gunicorn daemon for serving test-app
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/apps/test-app/
Environment="PATH=/apps/test-app/bin"
ExecStart=/apps/test-app/bin/gunicorn --workers 9  -t 0  --bind 127.0.0.1:5001 -m 007 wsgi:app --log-level debug --access-logfile /var/log/gunicorn/test_app_access.log --error-logfile /var/log/gunicorn/test_app_error.log
ExecReload=/bin/kill -s HUP $MAINPID
RestartSec=5

[Install]
WantedBy=multi-user.target

Décrivons brièvement chaque directive de configuration dans la configuration ci-dessus :

  • Description – est utilisé pour spécifier une description du service.
  • Après – définit une relation avec une seconde unité, la réseau.cible. Dans ce cas, le test-app.service est activé après la réseau.cible unité.
  • Utilisateur – est utilisé pour spécifier l’utilisateur avec les autorisations duquel le service sera exécuté.
  • Groupe – est utilisé pour spécifier le groupe avec les autorisations duquel le service sera exécuté.
  • Directeur de travail – est utilisé pour définir le répertoire de travail des processus exécutés.
  • Environnement – est utilisé pour définir des variables d’environnement pour les processus exécutés.
  • ExecStart – permet de définir les commandes avec leurs arguments qui sont exécutées au démarrage de ce service.
  • ExecReload – permet de définir les commandes à exécuter pour déclencher un rechargement de configuration dans le service.
  • RecherchéPar – permet de créer un lien symbolique dans le .wants/ ou .requires/ répertoire de chacune des unités listées, multi-utilisateur.cible dans ce cas, lorsque le test-app.service l’unité est activée à l’aide de la commande systemctl enable.

Vous pouvez trouver tous les paramètres de configuration de l’unité de service, bien décrits dans le Configuration de l’unité de service Documentation.

Enregistrez le fichier d’unité et fermez-le. Rechargez ensuite systemd avec ce nouveau fichier d’unité de service en exécutant :

# systemctl daemon-reload command

N’oubliez pas de toujours exécuter cette commande après avoir modifié un fichier d’unité.

Gérer le service Systemd sous Linux

Pour démarrer/activer le service, exécutez la commande systemctl comme suit :

# systemctl start test-app.service

Pour vérifier si le service est en cours d’exécution ou non, émettez la commande systemctl comme indiqué.

# systemctl status test-app.service
Vérifier L'État Du Service
Vérifier L&Rsquo;État Du Service

Pour permettre au service de démarrer au démarrage du système, utilisez le systemctl activer commande. Vous pouvez vérifier si le service a été activé en utilisant le systemctl est activé commande comme suit :

# systemctl enable test-app.service
# systemctl is-enabled test-app.service
Activer Le Service Pour Démarrer Au Démarrage
Activer Le Service Pour Démarrer Au Démarrage

Alternativement, vous pouvez également activer et démarrer le service en même temps, comme indiqué.

# systemctl enable --now test-app.service

Pour arrêter/désactiver le service, exécutez le arrêt systemctl commande comme suit :

# systemctl stop test-app.service

Pour redémarrer le service, exécutez le redémarrage de systemctl commande comme suit :

# systemctl restart test-app.service

Vous pouvez également désactiver un service pour l’empêcher de démarrer au démarrage du système, en utilisant le sdésactiver ystemctl commande. Vous pouvez vérifier si le service a été activé en utilisant le systemctl est activé commande comme suit :

# systemctl disable test-app.service
# systemctl is-disabled test-app.service

Vous pouvez également le désactiver et l’arrêter en même temps, comme indiqué.

# systemctl disable --now test-app.service

Pour plus de détails sur la gestion des services systemd et d’autres ressources, exécutez :

# man systemctl

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.

Soutenez-Nous

Nous sommes reconnaissants pour votre soutien sans fin.

Rate this post
Publicité
Article précédentRedmi K20 et Redmi K20 Pro deuxième vente en Inde prévue pour le 29 juillet
Article suivantMicrosoft déploie des correctifs pour 80 nouvelles failles de sécurité – deux sous attaque active
Avatar De Violette Laurent
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici