Serviciul de pornire/oprire systemctl: Cum se configurează Scriptul Upstart și procesul de respawn în Ubuntu, CentOS, Redhat Linux
Publicat: 2021-06-09Cum se scrie scriptul de pornire pentru systemd?
systemd
este cel mai recent service management utility
a serviciilor din toate cele mai recente versiuni de distribuție Linux, cum ar fi Ubuntu OS, Redhat OS, CentOS.
De aceea, versiunea Ubuntu 17.4 și Redhat 7.4 acceptă acum systemctl command
ca script parvenit. Dacă aveți o versiune mai veche a sistemului de operare Linux, poate fi necesar să vă uitați în partea de jos a acestei pagini pentru a vedea init.d script
mai vechi
Vom discuta mai jos lucrurile în acest tutorial
- Configurarea unității de service systemd
- Cum se
configure
systemd? - Cum să-l
enable
systemd? - Cum pornește automat procesul folosind systemd?
- Cum să oprești și să reapari procesul folosind
respawn
?
Pași de configurare pentru acest tutorial:
Prerequisite:
Am compilat versiunea programului CrunchifyAlwaysRunningProgram.java în folderul /tmp/crunchify
. Acest proces java va continua să ruleze în fundal pentru totdeauna. Puteți descărca programul de aici.
Odată ce îl descărcați, try to compile
și să îl rulați pentru a vă asigura că funcționează.
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 . . . . . . . . . |
Puteți tasta CTRL + C
pentru a părăsi programul.
Acum, să începem configurarea scriptului de pornire automată systemd pentru programul de mai sus.
Pasul 1
- Accesați folderul /lib/systemd/system
- Tastați
cd /lib/systemd/system
Pasul 2
- creați fișierul
crunchify.service
(schimbați numele fișierului în consecință) - pune sub conținut în el
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 |

Pasul 3
- Salvează fișierul
- Furnizați permisiunea de execuție folosind
chmod 755 crunchify.service
Pasul-4
- Încărcați crunchify.service folosind comanda
systemctl daemon-reload
- Activați crunchify.service folosind comanda
systemctl enable crunchify.service
- Porniți crunchify.service folosind comanda
systemctl start crunchify
- Verificați starea crunchify.service folosind comanda
systemctl status crunchify
Pasul-5
- Acum verificați dacă procesul rulează sau nu??
- Tastați comanda
ps -few | grep java
ps -few | grep java
pentru a vedea toate procesele Java care rulează - Ar trebui să vezi așa ceva
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 |
Asta înseamnă că procesul 28631
începe să folosească scriptul tău parvenit. Este posibil să aveți un ID de proces diferit.
Cum se verifică dacă systemd crunchify.service funcționează sau nu?
- Încercați să omorâți procesul folosind
kill -9 28631
și ar trebui să vedeți că un nou proces ar trebui creat automat. - În cazul meu, a fost creat un nou proces ID
28887
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: Exemplu complet de configurare a scriptului de start cu sistem Live:
Acest videoclip conține – Cum să setați scriptul de pornire/pornire a sistemului în CentOS, Redhat, Ubuntu Linux OS?
- Cum se execută automat scriptul shell la pornire
- Cum se creează un serviciu de sistem în Linux (CentOS 7)
- Cum se configurează un serviciu Linux pentru a porni automat?
- Script de pornire Centos 7 systemd
- Script de pornire Ubuntu systemd
Doriți să aflați mai multe despre systemd? Iată o foaie de cheat pentru referință.
Sper că veți învăța everything about systemd command
și despre configurarea scriptului parvenit pe toate tipurile de sisteme de operare Linux.
STOP: DOAR pentru versiunea mai veche a sistemului de operare
Dacă rulați older version
a Redhat, Ubuntu, versiunea CentOS, atunci va trebui să aveți un script în acest format.
- Accesați
/etc/init
- Creați fișierul
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 |
- Doar porniți serviciul folosind
service crunchify start
- Urmați aceiași pași de verificare ca mai sus
Anunțați-mă dacă vedeți vreo problemă la rularea scriptului upstart în mediul dvs. Bucură-te de ziua ta și codare fericită.