systemctl başlatma/durdurma hizmeti: Ubuntu, CentOS, Redhat Linux'ta Upstart Komut Dosyası ve Yeniden Doğuş Süreci Nasıl Kurulur
Yayınlanan: 2021-06-09systemd için başlangıç betiği nasıl yazılır?
systemd
, Ubuntu OS, Redhat OS, CentOS gibi Linux dağıtımının en son sürümlerindeki en son service management utility
.
Bu nedenle Ubuntu 17.4 ve Redhat 7.4 sürümü artık bir başlangıç betiği olarak systemctl command
destekliyor. Linux işletim sisteminin daha eski bir sürümündeyseniz, eski init.d script
görmek için bu sayfanın altına bakmanız gerekebilir.
Bu eğitimde aşağıdaki şeyleri tartışacağız
- systemd hizmet birimini ayarlama
- systemd nasıl
configure
? - systemd nasıl
enable
? - Systemd kullanarak süreç otomatik olarak nasıl başlatılır?
-
respawn
kullanarak süreç nasıl durdurulur ve yeniden doğar?
Bu eğitim için Kurulum Adımları:
Prerequisite:
CrunchifyAlwaysRunningProgram.java programının sürümünü /tmp/crunchify
klasöründe derledik. Bu Java işlemi sonsuza kadar arka planda çalışmaya devam edecektir. Programı buradan indirebilirsiniz.
İndirdikten sonra try to compile
ve çalıştığından emin olmak için çalıştırın.
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 . . . . . . . . . |
Programdan çıkmak için CTRL + C
basabilirsiniz.
Şimdi yukarıdaki program için systemd otomatik başlatma komut dosyasını kurmaya başlayalım.
Aşama 1
- /lib/systemd/system klasörüne gidin
-
cd /lib/systemd/system
Adım 2
-
crunchify.service
dosyası oluşturun (dosya adını buna göre değiştirin) - aşağıdaki içeriği içine koy
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 |

Aşama 3
- Dosyayı kaydet
-
chmod 755 crunchify.service
kullanarak yürütme izni sağlayın
4. Adım
-
systemctl daemon-reload
komutunu kullanarak crunchify.service'i yükleyin -
systemctl enable crunchify.service
komutunu kullanarak crunchify.service'i etkinleştirin -
systemctl start crunchify
komutunu kullanarak crunchify.service'i başlatın -
systemctl status crunchify
komutunu kullanarak crunchify.service durumunu kontrol edin
Adım 5
- Şimdi işlemin çalışıp çalışmadığını kontrol edin?
- Komut yazın
ps -few | grep java
çalışan tüm Java işlemlerini görmek içinps -few | grep java
- Böyle bir şey görmelisin
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 |
Bu, 28631
işleminin başlangıç komut dosyanızı kullanmaya başladığı anlamına gelir. Farklı işlem kimliğiniz olabilir.
Systemd crunchify.service'inizin çalışıp çalışmadığını nasıl doğrulayabilirsiniz?
-
kill -9 28631
kullanarak işlemi sonlandırmayı deneyin ve yeni işlemin otomatik olarak oluşturulması gerektiğini görmelisiniz. - Benim durumumda yeni işlem kimliği
28887
oluşturuldu
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: Komple Canlı sistem başlatma komut dosyası kurulum örneği:
Bu video şunları içerir – CentOS, Redhat, Ubuntu Linux OS'de systemd başlatma/upstart komut dosyası nasıl kurulur?
- Başlangıç açılışında kabuk betiği nasıl otomatik olarak yürütülür
- Linux'ta bir systemd Hizmeti Nasıl Oluşturulur (CentOS 7)
- Bir Linux Hizmetini Otomatik Olarak Başlayacak Şekilde Nasıl Yapılandırılır?
- Centos 7 systemd başlangıç betiği
- Ubuntu systemd başlangıç betiği
systemd hakkında daha fazla bilgi edinmek ister misiniz? İşte referansınız için bir hile sayfası.
Umarım everything about systemd command
öğrenirsiniz.
DUR: YALNIZCA OS'nin Eski Sürümü İçin
Redhat, Ubuntu, CentOS sürümünün daha older version
bir sürümünü kullanıyorsanız, bu biçimde komut dosyasına sahip olmanız gerekir.
-
/etc/init
gidin -
crunchify.conf
dosyası oluşturun
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 |
- Sadece komut
service crunchify start
- Yukarıdakiyle aynı doğrulama adımlarını izleyin
Ortamınızda başlangıç komut dosyasını çalıştıran herhangi bir sorun görürseniz bana bildirin. Gününüzün ve Mutlu kodlamanın tadını çıkarın.