systemctl start/stop service: So richten Sie das Upstart-Skript und den Respawn-Prozess in Ubuntu, CentOS, Redhat Linux ein
Veröffentlicht: 2021-06-09Wie schreibe ich ein Startskript für systemd?
systemd
ist das neueste service management utility
in allen neuesten Versionen von Linux-Distributionen wie Ubuntu OS, Redhat OS, CentOS.
Aus diesem Grund unterstützen die Versionen Ubuntu 17.4 und Redhat 7.4 jetzt den systemctl command
als Upstart-Skript. Wenn Sie eine ältere Version des Linux-Betriebssystems verwenden, müssen Sie möglicherweise unten auf dieser Seite nach einem älteren init.d script
Wir werden die folgenden Dinge in diesem Tutorial besprechen
- Systemd-Diensteinheit einrichten
- Wie
configure
ich systemd? - Wie
enable
ich es systemd? - Wie starte ich den Prozess automatisch mit systemd?
- Wie stoppe und
respawn
den Prozess mit systemd?
Einrichtungsschritte für dieses Tutorial:
Prerequisite:
Wir haben die kompilierte Version des Programms CrunchifyAlwaysRunningProgram.java im Ordner /tmp/crunchify
. Dieser Java-Prozess wird für immer im Hintergrund ausgeführt. Sie können das Programm hier herunterladen.
Sobald Sie es heruntergeladen haben, try to compile
und auszuführen, um sicherzustellen, dass es funktioniert.
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 . . . . . . . . . |
Sie können CTRL + C
, um das Programm zu beenden.
Beginnen wir nun mit der Einrichtung des systemd-Autostartskripts für das obige Programm.
Schritt 1
- Wechseln Sie in den Ordner /lib/systemd/system
- Geben
cd /lib/systemd/system
Schritt 2
- Datei
crunchify.service
erstellen (Dateiname entsprechend ändern) - Fügen Sie den folgenden Inhalt hinzu
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 |

Schritt 3
- Datei speichern
- Erteilen Sie die Ausführungsberechtigung mit
chmod 755 crunchify.service
Schritt 4
- Laden Sie crunchify.service mit dem Befehl
systemctl daemon-reload
- Aktivieren Sie crunchify.service mit dem Befehl
systemctl enable crunchify.service
- Starten Sie crunchify.service mit dem Befehl
systemctl start crunchify
- Überprüfen Sie den Status von crunchify.service mit dem Befehl
systemctl status crunchify
Schritt-5
- Überprüfen Sie nun, ob der Prozess ausgeführt wird oder nicht?
- Geben Sie den Befehl
ps -few | grep java
ps -few | grep java
, um alle laufenden Java-Prozesse anzuzeigen - Sie sollten so etwas sehen
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 |
Das bedeutet, dass Prozess 28631
mit Ihrem Upstart-Skript beginnt. Möglicherweise haben Sie eine andere Prozess-ID.
Wie kann ich überprüfen, ob Ihr systemd crunchify.service funktioniert oder nicht?
- Versuchen Sie, den Prozess mit
kill -9 28631
zu beenden, und Sie sollten sehen, dass automatisch ein neuer Prozess erstellt werden sollte. - In meinem Fall wurde die neue Prozess-ID
28887
erstellt
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 |
Video: Beispiel für die Einrichtung des Live-Systemd-Upstart-Skripts:
Dieses Video enthält – Wie richte ich ein Systemd-Start-/Upstart-Skript in CentOS, Redhat, Ubuntu Linux OS ein?
- So führen Sie das Shell-Skript beim Start automatisch aus
- So erstellen Sie einen systemd-Dienst unter Linux (CentOS 7)
- Wie konfiguriere ich einen Linux-Dienst für den automatischen Start?
- Centos 7 systemd-Startskript
- Ubuntu systemd Startskript
Möchten Sie mehr über systemd erfahren? Hier ist ein Spickzettel für Ihre Referenz.
Ich hoffe, Sie lernen everything about systemd command
und das Einrichten des Upstart-Skripts auf allen Arten von Linux-Betriebssystemen.
STOP: NUR für ältere Versionen des Betriebssystems
Wenn Sie eine older version
von Redhat, Ubuntu oder CentOS ausführen, benötigen Sie ein Skript in diesem Format.
- Gehen Sie zu
/etc/init
- Erstellen Sie die Datei
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 |
- Starten Sie den Dienst einfach mit dem Befehl
service crunchify start
- Befolgen Sie die gleichen Überprüfungsschritte wie oben
Lassen Sie mich wissen, wenn Sie ein Problem beim Ausführen des Upstart-Skripts in Ihrer Umgebung feststellen. Genießen Sie Ihren Tag und viel Spaß beim Codieren.