Service de démarrage/arrêt systemctl : Comment configurer le script Upstart et le processus de réapparition dans Ubuntu, CentOS, Redhat Linux
Publié: 2021-06-09Comment écrire un script de démarrage pour systemd ?
systemd
est le dernier service management utility
de services dans toutes les dernières versions de distribution Linux telles que Ubuntu OS, Redhat OS, CentOS.
C'est pourquoi les versions Ubuntu 17.4 et Redhat 7.4 prennent désormais en charge systemctl command
en tant que script de démarrage. Si vous utilisez une ancienne version du système d'exploitation Linux, vous devrez peut-être regarder au bas de cette page pour voir l'ancien init.d script
Nous allons discuter ci-dessous des choses dans ce tutoriel
- Configuration de l'unité de service systemd
- Comment
configure
systemd ? - Comment l'
enable
systemd? - Comment démarrer le processus automatiquement en utilisant systemd?
- Comment arrêter et
respawn
le processus en utilisant systemd?
Étapes de configuration pour ce didacticiel :
Prerequisite:
Nous avons compilé la version du programme CrunchifyAlwaysRunningProgram.java dans le dossier /tmp/crunchify
. Ce processus Java continuera à fonctionner en arrière-plan pour toujours. Vous pouvez télécharger le programme à partir d'ici.
Une fois que vous l'avez téléchargé, try to compile
et de l'exécuter pour vous assurer qu'il fonctionne.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
root @ crunchify : / tmp / crunchify # ls -ltr - rw - r -- r -- 1 root root 120 Oct 6 17 : 57 crunchify . tar . gz drwxr - xr - x 2 root root 4096 Oct 6 18 : 01 tomcat drwxr - xr - x 2 root root 4096 Oct 6 18 : 02 java - rw - r -- r -- 1 root root 621 Oct 7 16 : 06 package - rwxrwxrwx 1 root root 838 Oct 7 16 : 07 CrunchifyAlwaysRunningProgram . java - rwxrwxrwx 1 root root 1295 Oct 8 14 : 38 CrunchifyAlwaysRunningProgram . class root @ crunchify : / tmp / crunchify # javac CrunchifyAlwaysRunningProgram.java root @ crunchify : / tmp / crunchify # java CrunchifyAlwaysRunningProgram always running program == > Sun Oct 08 14 : 39 : 14 UTC 2017 always running program == > Sun Oct 08 14 : 39 : 16 UTC 2017 . . . . . . . . . |
Vous pouvez taper CTRL + C
pour quitter le programme.
Commençons maintenant à configurer le script de démarrage automatique systemd pour le programme ci-dessus.
Étape 1
- Allez dans le dossier /lib/systemd/system
- Tapez
cd /lib/systemd/system
Étape 2
- créer le fichier
crunchify.service
(modifier le nom du fichier en conséquence) - y mettre le contenu ci-dessous
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[ Unit ] Description = Crunchify Java Process Restart Upstart Script After = auditd . service systemd - user - sessions . service time - sync . target [ Service ] User = root TimeoutStartSec = 0 Type = simple KillMode = process export JAVA_HOME =/ opt / java / jdk - 9 export PATH = $ PATH : $ JAVA_HOME / bin WorkingDirectory =/ tmp / crunchify ExecStart =/ opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram Restart = always RestartSec = 2 LimitNOFILE = 5555 [ Install ] WantedBy = multi - user . target |

Étape 3
- Enregistrer le fichier
- Fournir une autorisation d'exécution à l'aide de
chmod 755 crunchify.service
Étape 4
- Chargez crunchify.service à l'aide de la commande
systemctl daemon-reload
- Activez crunchify.service à l'aide de la commande
systemctl enable crunchify.service
- Démarrez crunchify.service à l'aide de la commande
systemctl start crunchify
- Vérifiez l'état de crunchify.service à l'aide de la commande
systemctl status crunchify
Étape-5
- Vérifiez maintenant si le processus est en cours d'exécution ou non ?
- Tapez la commande
ps -few | grep java
ps -few | grep java
pour voir tous les processus Java en cours d'exécution - Vous devriez voir quelque chose comme ça
1 2 3 |
root @ crunchify : / lib / systemd / system # ps -few | grep java root 28631 1 0 14 : 02 ? 00 : 00 : 03 / opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram root 28853 28226 0 14 : 46 pts / 0 00 : 00 : 00 grep java |
Cela signifie que le processus 28631
commence à utiliser votre script de démarrage. Vous pouvez avoir un ID de processus différent.
Comment vérifier si votre systemd crunchify.service fonctionne ou non ?
- Essayez de tuer le processus en utilisant
kill -9 28631
et vous devriez voir que le nouveau processus doit être créé automatiquement. - Dans mon cas, le nouveau processus ID
28887
créé
1 2 3 4 |
root @ crunchify : / lib / systemd / system # kill -9 28631 root @ crunchify : / lib / systemd / system # ps -few | grep java root 28887 1 17 14 : 48 ? 00 : 00 : 00 / opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram root 28900 28226 0 14 : 48 pts / 0 00 : 00 : 00 grep java |
Vidéo : Exemple de configuration complète du script de démarrage de Live systemd :
Cette vidéo contient - Comment configurer le script de démarrage/upstart systemd dans CentOS, Redhat, Ubuntu Linux OS ?
- Comment exécuter automatiquement le script shell au démarrage du démarrage
- Comment créer un service systemd sous Linux (CentOS 7)
- Comment configurer un service Linux pour qu'il démarre automatiquement ?
- Script de démarrage systemd Centos 7
- Script de démarrage d'Ubuntu systemd
Vous voulez en savoir plus sur systemd ? Voici une feuille de triche pour votre référence.
J'espère que vous apprendrez everything about systemd command
et la configuration du script de démarrage sur tous les types de système d'exploitation Linux.
STOP : pour les anciennes versions du système d'exploitation UNIQUEMENT
Si vous utilisez une older version
de Redhat, Ubuntu, CentOS, vous aurez besoin d'un script dans ce format.
- Allez dans
/etc/init
- Créer le fichier
crunchify.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Run Crunchify's Java program indefinitely # description "Crunchify Java Process Restart Upstart Script" author "Crunchify.com (App Shah)" start on runlevel [ 2345 ] stop on runlevel [ ! 2345 ] respawn respawn limit 10 5 script su - root < < 'EOF' export JAVA_HOME =/ opt / java / jdk - 9 export PATH = $ PATH : $ JAVA_HOME / bin exec / opt / java / jdk - 9 / bin / java - cp / tmp / crunchify CrunchifyAlwaysRunningProgram EOF end script |
- Démarrez simplement le service à l'aide de la commande
service crunchify start
- Suivez les mêmes étapes de vérification que ci-dessus
Faites-moi savoir si vous rencontrez un problème lors de l'exécution du script upstart dans votre environnement. Profitez de votre journée et bon codage.