GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un service Systemd sous Linux

Parfois, vous créez un script et vous souhaitez ensuite que les scripts soient contrôlés par systemd ou, dans certains cas, vous souhaitez que les scripts soient redémarrés par eux-mêmes lorsqu'ils sont tués pour une raison quelconque.

Systemd sous Linux aide à configurer les services qui peuvent être gérés.

Dans cet article, Nous allons vous montrer comment créer un service systemd.

Créer un service systemd

En général

Suivez simplement les étapes ci-dessous :

  • Vous pouvez trouver le service Linux en cours d'exécution sous le chemin /etc/systemd/system
cd /etc/systemd/system
  • Créez un fichier nommé [servicename.service] et ajoutez ce qui suit
[Unit]
Description=<description_about_your_service>

[Service]
User=<user_such_as_root>
WorkingDirectory=<directory_of__your_script such as /home/unixcop>
ExecStart=<script_which_needs_to_be_executed>
Restart=always

[Install]
WantedBy=multi-user.target

REMARQUE  :Remplacez le gras valeurs ci-dessus avec vos valeurs de votre nouveau service que vous souhaitez créer.

Une unité de service est un fichier avec le .service suffixe contient des informations sur un processus géré par systemd . Il est composé de trois sections principales :

  • [Unité]  :cette section contient des informations qui ne sont pas spécifiquement liées au type d'unité, telles que la description du service
  • [Service] :contient des informations sur le type spécifique de l'unité, un service dans ce cas
  • [Installer] :Cette section contient des informations sur l'installation de l'unité

Pour les projets spécifiques à Python qui incluent un environnement virtuel

  • Suivez les mêmes étapes ci-dessus, mais ajoutez ce qui suit
[Unit]
Description=<description_about_your_project>

[Service]
User=<user_such_as_root>
WorkingDirectory=<path/to/your/project/directory/containing/the/python/script>
ExecStart=Path of virtualenv and your script file name

#Example for ExecStart=/home/user/.virtualenv/bin/python main.py
#replace /home/user/.virtualenv/bin/python with your virtualenv and main.py with your script name

Restart=always

[Install]
WantedBy=multi-user.target

OU

[Unit]
Description=<description_about_your_project>

[Service]
User=<user_such_as_root>
WorkingDirectory=<path to your project directory>
ExecStart=/bin/bash -c 'cd /home/unixcop/project/ && source venv/bin/activate && python test.py'

#replace /home/unixcop/project/ with your Path, venv/bin/activate with your source and test.py with your script name

[Install]
WantedBy=multi-user.target
  • Une fois que vous avez terminé, rechargez les fichiers de service pour inclure le nouveau service.
sudo systemctl daemon-reload
  • Démarrez votre nouveau service
    sudo systemctl start [your_new_service].service
  • Vérifiez l'état de votre nouveau service, par exemple (mon nouveau service appelé unixcop.service)
    sudo systemctl status unixcop.service
  • Activer votre service à chaque redémarrage
    sudo systemctl enable unixcop.service
  • Pour désactiver votre service à chaque redémarrage
    sudo systemctl disable unixcop.service

Conclusion

C'est tout

Nous avons illustré comment créer un nouveau service systemd sous Linux

Merci !!


Linux
  1. Comment gérer les services Systemd avec Systemctl sous Linux

  2. Comment créer un script d'une commande Linux

  3. Comment créer un package RPM Linux

  4. Comment créer un swap sous Linux

  5. Comment créer un fichier d'échange sous Linux

Comment créer des raccourcis sur le bureau Linux

Comment créer un montage à partir d'images sous Linux

Comment créer un alias SSH sous Linux

Comment exécuter un script Shell en tant que service Systemd sous Linux

Comment créer un alias sous Linux

Comment exécuter un script Shell en tant que service SystemD sous Linux