Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 10964|Yanıt: 8

[linux] Linux systemd servis yöneticisi ayrıntılı şekilde açıklandı

[Bağlantıyı kopyala]
Yayınlandı 28.11.2021 10:02:32 | | | |
systemd, Linux sistemleri için temel yapı taşları setidir. Sistemin geri kalanını PID 1 olarak çalıştıran ve başlatan bir sistem ve servis yöneticisi sağlar.

systemd agresif paralelleştirme yetenekleri sağlar, hizmetleri başlatmak için soketler ve D-Bus aktivasyonu kullanır, daemonların talep üzerine başlatılmasını sağlar, süreçleri takip etmek için Linux kontrol gruplarını kullanır, montaj ve otomatik montaj noktalarını korur ve iyi tasarlanmış işlem bağımlılığına dayalı hizmet kontrol mantığını uygular. systemd, SysV ve LSB init betiklerini destekler ve sysvinit'in yerini alabilir.

Diğer bölümler arasında log daemonları, ana isimleri, tarihler, yerel ayarlar gibi temel sistem yapılandırmalarını kontrol eden yardımcı programlar, giriş yapmış kullanıcıların listesini tutmak ve çalıştıran konteynerler ile sanal makineler, sistem hesapları, çalışma zamanı dizinleri ve ayarlar, ayrıca basit ağlar için daemon yapılandırmalarının yönetimi, ağ zaman senkronizasyonu, günlük yönlendirme ve isim çözümleme yer alır.

systemd yapılandırma dosyası aşağıdaki üç klasörde mevcuttur:         

/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。

/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。

/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。
Eleştiri:

Linux, Systemd servisinin log çıktısına bakıyor
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Bir Linux düğümü ekle ve bunu bir hizmet olarak kaydet
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7, Node dışa aktarıcısını yükler
https://www.itsvse.com/thread-9969-1-1.html

Birim profili

systemd'deki birim dosyası, systemd'nin yönetebileceği çeşitli birimler hakkında, hizmetler, soketler, cihazlar gibi bilgileri kodlayan bir dosyadır. Bu rehber hizmetlere odaklanır; bu durumda çalıştığımız birim dosyası .service dosyasıdır. varnish.service cihaz yapılandırma dosyası, systemd'nin varnish daemon'u nasıl çalıştıracağı, izleyeceği ve yöneteceği hakkında bilgi içerir.

[Birim] bloğu genellikle yapılandırma dosyasının ilk bloğudur ve Birimin meta verisini ve diğer Birimlerle nasıl ilişkili olduğunu tanımlamak için kullanılır. Ana alanları şunlardır.

  • Açıklama: Kısa bir açıklama
  • Dokümantasyon: Belgenin adresi
  • Mevcut birimin bağımlı olduğu diğer birimler gerektirir ve eğer çalışmazlarsa, mevcut ünite çalışmaz
  • İstekler: Mevcut Birimle çalışan diğer Birimler, çalışmıyorlarsa, mevcut birim çalışmaz.
  • BindsTo: Gereksinimlere benzer şekilde, mevcut Birimin çıkışında çalışmayı durdurmasına neden olan bir Birimi belirtir
  • Önce: Bu alanda belirtilen Birim de başlatılıyorsa, mevcut Birimden sonra başlatılmalıdır
  • Sonra: Bu alanda belirtilen Birim de başlatılıyorsa, mevcut Birimden önce başlatılmalıdır
  • Çatışmalar: Burada belirtilen birim, mevcut üniteyle aynı anda çalışamaz
  • Koşul... : Mevcut birimin çalışması için karşılanması gereken koşullar, aksi takdirde çalışmaz
  • Öne sürmek... : Mevcut birimin çalışması için karşılanması gereken koşullar, aksi takdirde başlatma hatası bildirilecektir

[Kurulum] genellikle yapılandırma dosyasının açılma ve açılış sürecini tanımlayan son bloğudur. Ana alanları şunlardır.

  • WantedBy: Değeri bir veya daha fazla Hedefdir ve mevcut Birim aktifse (etkinleştirildiğinde), simbini /etc/systemd/system dizininin altındaki bir alt dizinde Hedef adı + .wants ekiyle yerleştirilir
  • RequiredBy: Değeri bir veya daha fazla Hedefdir ve mevcut Birim aktifken, simbini /etc/systemd/system dizininin altındaki bir alt dizine Hedef adı + .required ekiyle yerleştirir
  • Takma ad: Mevcut Birimin başlatmak için kullanabileceği takma addır
  • Ayrıca: Mevcut birim aktif olduğunda, diğer birimler de aynı anda aktive olur

[Servis] bloğu Hizmeti yapılandırmak için kullanılır ve yalnızca Hizmet tipi birimlerde bu blok bulunur. Ana alanları şunlardır.

  • Tip: Sürecin başlangıçtaki davranışını tanımlar. Aşağıdaki değerlere sahiptir.
  • Type=simple: Varsayılan değer, ana süreci başlatmak için ExecStart tarafından belirtilen komutu çalıştırın
  • type=forking: Fork, ana süreçten bir alt süreç oluşturur ve bu süreç oluşturulduktan hemen sonra çıkar
  • Type=oneshot: Tek seferlik bir süreç, Systemd mevcut hizmetin çıkmasını bekleyip sonra yürütmeye devam eder
  • Type=dbus: Mevcut hizmet D-Bus üzerinden başlatılır
  • type=notify: Mevcut hizmet başlatıldığında, Systemd bilgilendirilir ve yürütmeye devam edilir
  • type=idle: Mevcut hizmet yalnızca diğer görevler yürütülürse çalışır
  • ExecStart: Mevcut hizmeti başlatma komutu
  • ExecStartPre: Mevcut hizmet başlatılmadan önce çalıştırılan komut
  • ExecStartPost: Mevcut hizmet başlatıldıktan sonra çalıştırılan komut
  • ExecReload: Mevcut hizmet yeniden başlatıldığında yürütülen komut
  • ExecStop: Mevcut hizmet durdurulduğunda çalıştırılan komut
  • ExecStopPost: Komut verildiğinde çalıştırılan komutu durdur
  • RestartSec: Otomatik hizmetin mevcut hizmeti yeniden başlatması arasındaki saniye sayısı
  • Yeniden başlatma: Systemd'nin mevcut hizmeti otomatik olarak yeniden başlatacağı koşulları tanımlar; her zaman, başarısızlık, başarısızlık, anormal, iptal etme, watchdog gibi olası değerlerle
  • TimeoutSec: Systemd'nin mevcut hizmeti durdurmadan önce beklediği saniye sayısını tanımlar
  • Ortam: Ortam değişkenini belirtin

Systemctl yönetim aracı

CentOS'ta program yönetimi temelde systemctl aracı tarafından yapılır.

Startup Hizmeti:

systemctl start name.service

Hizmeti sonlandırma:

systemctl stop name.service

Hizmeti yeniden başlatmak:

systemctl restart name.service

Durum Görüntüle:

systemctl status name.service

Koşullu yeniden başlatma:

Hizmet daha önce başlatıldıysa, yeniden başlatılır, hizmet başlatılmazsa çalıştırılmaz.

systemctl try-restart name.service

Yeniden yükleme veya yeniden başlatma:

Önce yeniden yükleyin, eğer yeniden yükleme başarısız olursa, yeniden başlatın

systemctl reload-or-restart name.service

Yeniden yükleme veya koşullu yeniden başlatma:

systemctl reload-or-try-restart name.service

Kullanıcının hizmeti durumu başlatmak için ayarlayıp ayarlamadığını ayarlar

systemctl unmask name.service

systemctl maske name.service yasaktır

Hizmetin mevcut aktivasyon durumunu görüntüleyin:

Hizmet başlatıldı komutunun durum dönüşü değeri 0'dır Başlatılmamış komutun durum iade değeri 0 değildir

systemctl is-active name.service

Aktif hale getirilen tüm servislere bakın:

-t Gösterilen ünite türünü belirtir.

--hepsi daha ayrıntılı bir bilgi listesi gösterir.

-eşdeğer --hepsi

systemctl liste-birimleri

systemctl list-units -t service

systemctl list-units -t service -a

Tüm hizmetleri görün:

systemctl liste-birimleri -a

Tüm hizmet durumlarını görüntüleyin:

systemctl list-unit-files

-a 、--all : Tüm hizmetlerin durumunu görüntüleyin

-t 、--tip: Görüntülenecek birimin türünü belirtir

yüklendi: Yapılandırma dosyası yüklendi, belleğe yüklendi

aktif (çalışan): Bir veya daha fazla kez sürekli işlenen çalışmalar

active(exited): Tek seferlik yapılandırma başarıyla tamamlandı

aktif (bekliyor): Koşuyor, bir olay bekliyor

inactive:不运行

enabled:开机启动

disabled:开机不启动

static:开机不启动,但可被另一个启用的服务激活

Hizmetin hangi işletim seviyelerinde etkinleştirildiği ve devre dışı bırakıldığı listelenmek için kullanılır

ls /etc/systemd/system/*.wants/sshd.service

systemctl list-unit-files --type target --all

Servisi başlamamaya ayarlamak için:

systemctl devre dışı bırak hizmet adı birimi

Hizmetin açılıp açılmadığını kontrol edin:

systemctl is-enabled name.service

Hizmet bağımlılıklarına bakın:

systemctl list-dependencies name.service
systemctl list-depebdencies

Ağır yük hizmeti:

systemctl daemon-reload

Süreci öldür:

systemctl kill process adı

Kaynaklar:

Bağlantı girişi görünür.
Bağlantı girişi görünür.
Bağlantı girişi görünür.
Bağlantı girişi görünür.





Önceki:Linux, Curl komutunu kullanarak LDAP bağlantısını test eder
Önümüzdeki:VSFTP Dosya Yükleme İzni Sorunu
 Ev sahibi| Yayınlandı 11.12.2021 17:35:26 |
[Birim]Blok genellikle bir Birimin meta verisini ve bunun diğer Birimlerle ilişkisini tanımlayan yapılandırma dosyasının ilk bloğudur. Ana alanları şunlardır.

Açıklama: Kısa bir açıklama
Dokümantasyon: Belgenin adresi
Mevcut birimin bağımlı olduğu diğer birimler gerektirir ve eğer çalışmazlarsa, mevcut ünite çalışmaz
İstekler: Mevcut Birimle çalışan diğer Birimler, çalışmıyorlarsa, mevcut birim çalışmaz.
BindsTo: Gereksinimlere benzer şekilde, mevcut Birimin çıkışında çalışmayı durdurmasına neden olan bir Birimi belirtir
Önce: Bu alanda belirtilen Birim de başlatılıyorsa, mevcut Birimden sonra başlatılmalıdır
Sonra: Bu alanda belirtilen Birim de başlatılıyorsa, mevcut Birimden önce başlatılmalıdır
Çatışmalar: Burada belirtilen birim, mevcut üniteyle aynı anda çalışamaz
Koşul... : Mevcut birimin çalışması için karşılanması gereken koşullar, aksi takdirde çalışmaz
Öne sürmek... : Mevcut birimin çalışması için karşılanması gereken koşullar, aksi takdirde başlatma hatası bildirilecektir
[Kurulum]Genellikle yapılandırma dosyasının son bloğu nasıl açılacağını ve açılıp açılmayacağını belirler. Ana alanları şunlardır.

WantedBy: Değeri bir veya daha fazla Hedefdir ve mevcut Birim aktifse (etkinleştirildiğinde), simbini /etc/systemd/system dizininin altındaki bir alt dizinde Hedef adı + .wants ekiyle yerleştirilir
RequiredBy: Değeri bir veya daha fazla Hedefdir ve mevcut Birim aktifken, simbini /etc/systemd/system dizininin altındaki bir alt dizine Hedef adı + .required ekiyle yerleştirir
Takma ad: Mevcut Birimin başlatmak için kullanabileceği takma addır
Ayrıca: Mevcut birim aktif olduğunda, diğer birimler de aynı anda aktive olur
[Hizmet]Bloklar hizmetleri yapılandırmak için kullanılır ve yalnızca Hizmet tipi birimlerde bu blok bulunur. Ana alanları şunlardır.

Tip: Sürecin başlangıçtaki davranışını tanımlar. Aşağıdaki değerlere sahiptir.
Type=simple: Varsayılan değer, ana süreci başlatmak için ExecStart tarafından belirtilen komutu çalıştırın
type=forking: Fork, ana süreçten bir alt süreç oluşturur ve bu süreç oluşturulduktan hemen sonra çıkar
Type=oneshot: Tek seferlik bir süreç, Systemd mevcut hizmetin çıkmasını bekleyip sonra yürütmeye devam eder
Type=dbus: Mevcut hizmet D-Bus üzerinden başlatılır
type=notify: Mevcut hizmet başlatıldığında, Systemd bilgilendirilir ve yürütmeye devam edilir
type=idle: Mevcut hizmet yalnızca diğer görevler yürütülürse çalışır
ExecStart: Mevcut hizmeti başlatma komutu
ExecStartPre: Mevcut hizmet başlatılmadan önce çalıştırılan komut
ExecStartPost: Mevcut hizmet başlatıldıktan sonra çalıştırılan komut
ExecReload: Mevcut hizmet yeniden başlatıldığında yürütülen komut
ExecStop: Mevcut hizmet durdurulduğunda çalıştırılan komut
ExecStopPost: Komut verildiğinde çalıştırılan komutu durdur
RestartSec: Otomatik hizmetin mevcut hizmeti yeniden başlatması arasındaki saniye sayısı
Yeniden başlatma: Systemd'nin mevcut hizmeti otomatik olarak yeniden başlatacağı koşulları tanımlar; her zaman, başarısızlık, başarısızlık, anormal, iptal etme, watchdog gibi olası değerlerle
TimeoutSec: Systemd'nin mevcut hizmeti durdurmadan önce beklediği saniye sayısını tanımlar
Ortam: Ortam değişkenini belirtin


 Ev sahibi| Yayınlandı 11.12.2021 17:37:33 |
Type=forking
Systemd, servis süreci çatallandığında ve ana süreç sona erdiğinde hizmetin başarılı bir şekilde başladığını düşünür. Normal daemonlar için, bu başlatma yönteminin ihtiyaçlarınızı karşılamadığından emin değilseniz, bu tiple başlayabilirsiniz. Bu başlangıç türünde, systemd'nin hizmetin ana sürecini takip edebilmesi için PIDFile= da belirtilmelidir

 Ev sahibi| Yayınlandı 15.12.2021 16:55:14 |
EnvironmentFile komutu

EnvironmentFile, Environment direktifine benzer, ancak bir metin dosyasından ortam değişkenlerini okur. Metin dosyası, satır aralamalarıyla ayrılmış değişken atamaları içermelidir

örnek

Bu ortam dosyasını alıp değişkenlerini aşağıdaki gibi kullanabilirsiniz:



 Ev sahibi| Yayınlandı 4.01.2022 15:56:55 |
 Ev sahibi| Yayınlandı 5.01.2022 09:48:21 |
docker default hizmet dosyası yolu /usr/lib/systemd/system/docker.service

 Ev sahibi| Yayınlandı 23.01.2022 22:57:56 |
Tüm hizmet durumlarını görüntüleyin



Bir servisin açık olup olmadığını sorgulayın, örneğin NFS kullanılarak:

 Ev sahibi| Yayınlandı 25.02.2025 17:01:08 |
ABC ile başlayan toplu başlatma hizmetleri

 Ev sahibi| Yayınlandı 11.04.2025 15:57:14 |
DefaultTimeoutStartSec= ve DefaultTimeoutStopSec= varsayılan olarak System Manager'da 90 saniye, Kullanıcı Yöneticisi'nde 90 saniye olarak belirlenir.

Bağlantı girişi görünür.

Belirtilen hizmetin yapılandırmasını aşağıdaki komutla görüntüleyin:


Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com