Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 11350|Odpowiedź: 8

[linux] Linux systemd service manager wyjaśniony szczegółowo

[Skopiuj link]
Opublikowano 28.11.2021 10:02:32 | | | |
systemd to zestaw podstawowych elementów budulcowych dla systemów Linux. Zapewnia system i menedżera usług, który uruchamia i uruchamia resztę systemu jako PID 1.

systemd zapewnia agresywne możliwości równoległości, wykorzystuje sockety i aktywację D-Bus do uruchamiania usług, umożliwia uruchamianie daemonów na żądanie, korzysta z grup kontrolnych Linux do śledzenia procesów, utrzymuje mounty i punkty automatycznego montażu oraz implementuje dobrze zaprojektowaną logikę sterowania usługami opartą na zależności od transakcji. systemd obsługuje skrypty initowe SysV i LSB oraz może zastąpić sysvinit.

Inne sekcje obejmują demony logów, narzędzia do sterowania podstawowymi konfiguracjami systemowymi, takimi jak nazwy hostów, daty, lokalizacje, prowadzenie listy zalogowanych użytkowników i uruchamianie kontenerów oraz maszyn wirtualnych, konta systemowe, katalogi i ustawienia, a także zarządzanie konfiguracjami demonów dla prostych sieci, synchronizacja czasu sieciowego, przekierowanie logów oraz rozwiązywanie nazw.

Plik konfiguracyjny systemd znajduje się w następujących trzech folderach:         

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

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

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

Linux analizuje wynik logowy usługi Systemd
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Dodaj węzeł Linux i zarejestruj go jako usługę
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 instaluje eksporter Node
https://www.itsvse.com/thread-9969-1-1.html

Profil jednostki

Plik jednostkowy w systemd to plik, który koduje informacje o różnych jednostkach, którymi systemd może zarządzać, w tym usługach, gniazdach, urządzeniach i innych. Ten przewodnik koncentruje się na usługach, w takim przypadku plikiem jednostkowym, z którym pracujemy, jest plik .service. Plik konfiguracyjny varnish.service zawiera informacje o tym, jak systemd powinien wykonywać, monitorować i zarządzać daemonem varnish.

Blok [Jednostka] jest zazwyczaj pierwszym blokiem pliku konfiguracyjnego i służy do definiowania metadanych jednostki oraz jej relacji z innymi jednostkami. Główne dziedziny są następujące.

  • Opis: Krótki opis
  • Dokumentacja: Adres dokumentu
  • Wymaga: Innych Jednostek, od których zależy obecna jednostka, a jeśli nie działają, obecna jednostka nie uruchomi
  • Chce: Inne jednostki współpracujące z aktualną jednostką, jeśli nie działają, obecna jednostka nie przestanie się uruchamiać
  • BindsTo: Podobnie jak Revises, określa jednostkę, która powoduje, że obecna jednostka przestaje działać, jeśli wyjdzie
  • Przed: Jeśli jednostka wskazana w tym polu również ma zostać uruchomiona, musi być rozpoczęta po aktualnej Jednostce
  • Po: Jeśli jednostka wskazana w tym polu również ma zostać uruchomiona, musi zostać uruchomiona przed aktualną jednostką
  • Konflikty: Jednostka opisana tutaj nie może działać jednocześnie z aktualną jednostką
  • Warunek... : Warunki, które muszą być spełnione, aby bieżąca jednostka działała, w przeciwnym razie nie będzie działała
  • Twierdzić... : Warunki, które muszą być spełnione, aby bieżąca jednostka mogła działać, w przeciwnym razie awaria startu zostanie zgłoszona

[Install] to zazwyczaj ostatni blok pliku konfiguracyjnego, który definiuje, jak uruchomić i czy go uruchomić. Główne dziedziny są następujące.

  • WantedBy: Jego wartość to jeden lub więcej Targets, a gdy aktualna jednostka jest aktywna (enable), symlink umieszczany jest w podkatalogu pod katalogiem /etc/systemd/system z przyrostkiem Target + .wants
  • RequiredBy: Jego wartość to jeden lub więcej Targets, a gdy aktualna jednostka jest aktywna, symlink zostanie umieszczony w podkatalogu pod katalogiem /etc/systemd/system z przyrostkiem Target + .required
  • Alias: alias, którego obecna jednostka może użyć do rozpoczęcia
  • Ponadto: Gdy aktualna jednostka zostanie aktywowana, inne jednostki zostaną aktywowane jednocześnie

Blok [Usługa] służy do konfiguracji Usługi i tylko jednostki tego typu Usługi mają ten blok. Główne dziedziny są następujące.

  • Typ: Definiuje zachowanie procesu przy starcie. Ma następujące wartości.
  • Type=simple: Wartość domyślna, wykonaj polecenie określone przez ExecStart, aby rozpocząć główny proces
  • type=forking: Fork tworzy proces potomny z procesu nadrzędnego, który natychmiast po utworzeniu go zakończy
  • Type=oneshot: Jednorazowy proces, Systemd czeka na zakończenie bieżącej usługi, zanim będzie kontynuował wykonanie
  • Type=dbus: Obecna usługa jest uruchamiana przez D-Bus
  • type=notify: Po uruchomieniu bieżącej usługi Systemd zostanie powiadomiony i będzie kontynuowany
  • type=idle: Aktualna usługa będzie działać tylko wtedy, gdy inne zadania zostaną wykonane
  • ExecStart: Polecenie uruchomienia bieżącej usługi
  • ExecStartPre: Polecenie wykonywane przed rozpoczęciem bieżącej usługi
  • ExecStartPost: Polecenie wykonywane po uruchomieniu bieżącej usługi
  • ExecReload: Polecenie wykonywane po wznowieniu bieżącej usługi
  • ExecStop: Polecenie wykonywane po zatrzymaniu bieżącej usługi
  • ExecStopPost: Zatrzymaj polecenie wykonywane w momencie jego podania
  • RestartSec: Liczba sekund między automatycznym uruchomieniem usługi bieżącej
  • Restart: Określa okoliczności, w których Systemd automatycznie wznowi aktualną usługę, z możliwymi wartościami takimi jak zawsze, na sukces, na niepowodzeniu, na nienormalnie, na przerwanie, na watchdog
  • TimeoutSec: Określa liczbę sekund, jaką Systemd czeka przed zatrzymaniem bieżącej usługi
  • Środowisko: Określ zmienną środowiskową

Narzędzie zarządzania Systemctl

Zarządzanie programami w CentOS odbywa się zasadniczo przez narzędzie systemctl.

Usługa startupowa:

Systemctl Start name.service

Zakończ obsługę:

Systemctl stop name.service

Wznowienie usługi:

Systemctl restart name.service

Zobacz status:

SystemCTL status name.service

Warunkowy restart:

Jeśli usługa została uruchomiona wcześniej, zostanie wznowiona, a jeśli nie zostanie uruchomiona, nie będzie obsługiwana

Systemctl try-restart name.service

Wczytaj lub zrestartuj:

Najpierw wczytaj, a jeśli przeładowanie się nie powiedzie, zrestartuj

SystemCTL reload-or-restart name.service

Przeładowanie lub warunkowy restart:

Systemctl Reload-or-try-restart name.service

Ustala, czy użytkownik może ustawić usługę, aby rozpocząć stan

Systemctl unmask name.service

SystemCTL mask nazwa.usługa jest zabroniona

Zobacz aktualny status aktywacji usługi:

Wartość statusu polecenia 'rozpoczęto' usługi wynosi 0. Wartość statusu polecenia, które nie zostało uruchomione, to nie0

SystemCTL IS-Active Name.Service

Zobacz wszystkie usługi, które zostały aktywowane:

-t Określa typ wyświetlanej jednostki.

--wszystkie wyświetlają bardziej szczegółową listę informacji.

-równoważne --wszystkie

SystemCTL jednostki listowe

SystemCTL list-units -T usługa

SystemCTL list-units -t usługa -a

Zobacz wszystkie usługi:

SystemCTL list-jednostki -a

Zobacz wszystkie statusy usług:

SystemCTL list-unit-files

-a 、--wszyscy : Zobacz status wszystkich usług

-t 、--typ: Określa typ jednostki, którą ma być oglądana

załadowany: plik konfiguracyjny został załadowany, załadowany do pamięci

aktywny(running): Ruchy, które są ciągle przetwarzane jeden lub więcej razy

aktywne(zakończone): Jednorazowa konfiguracja została pomyślnie zakończona

aktywny (czeka): Biegnie, czekanie na zdarzenie

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Używany do wymieniania, na jakich poziomach działania usługa jest włączona i wyłączona

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

SystemCTL list-unit-files --typ target --all

Aby ustawić usługę tak, by nie startowała:

SystemCTL wyłącz jednostkę nazwy usługi

Sprawdź, czy usługa została uruchomiona i uruchomiona:

SystemCTL IS-enabled name.service

Spójrz na zależności usług:

SystemCTL list-dependencies name.service
SystemCTL List-Depebdencies

Obsługa ciężkich obciążeń:

SystemCTL Daemon-Reload

Zabij proces:

Nazwa procesu zabijania systemctl

Zasoby:

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.





Poprzedni:Linux testuje łączność LDAP za pomocą polecenia Curl
Następny:Problem z uprawnieniami do przesyłania plików VSFTP
 Ziemianin| Opublikowano 11.12.2021 17:35:26 |
[Jednostka]Blok to zazwyczaj pierwszy blok pliku konfiguracyjnego, który definiuje metadane jednostki oraz sposób, w jaki odnosi się ona do innych jednostek. Główne dziedziny są następujące.

Opis: Krótki opis
Dokumentacja: Adres dokumentu
Wymaga: Innych Jednostek, od których zależy obecna jednostka, a jeśli nie działają, obecna jednostka nie uruchomi
Chce: Inne jednostki współpracujące z aktualną jednostką, jeśli nie działają, obecna jednostka nie przestanie się uruchamiać
BindsTo: Podobnie jak Revises, określa jednostkę, która powoduje, że obecna jednostka przestaje działać, jeśli wyjdzie
Przed: Jeśli jednostka wskazana w tym polu również ma zostać uruchomiona, musi być rozpoczęta po aktualnej Jednostce
Po: Jeśli jednostka wskazana w tym polu również ma zostać uruchomiona, musi zostać uruchomiona przed aktualną jednostką
Konflikty: Jednostka opisana tutaj nie może działać jednocześnie z aktualną jednostką
Warunek... : Warunki, które muszą być spełnione, aby bieżąca jednostka działała, w przeciwnym razie nie będzie działała
Twierdzić... : Warunki, które muszą być spełnione, aby bieżąca jednostka mogła działać, w przeciwnym razie awaria startu zostanie zgłoszona
[Instalacja]Zazwyczaj jest to ostatni blok pliku konfiguracyjnego, który definiuje, jak uruchomić i czy go uruchomić. Główne dziedziny są następujące.

WantedBy: Jego wartość to jeden lub więcej Targets, a gdy aktualna jednostka jest aktywna (enable), symlink umieszczany jest w podkatalogu pod katalogiem /etc/systemd/system z przyrostkiem Target + .wants
RequiredBy: Jego wartość to jeden lub więcej Targets, a gdy aktualna jednostka jest aktywna, symlink zostanie umieszczony w podkatalogu pod katalogiem /etc/systemd/system z przyrostkiem Target + .required
Alias: alias, którego obecna jednostka może użyć do rozpoczęcia
Ponadto: Gdy aktualna jednostka zostanie aktywowana, inne jednostki zostaną aktywowane jednocześnie
[Serwis]Bloki służą do konfiguracji usług, a tylko jednostki typu Service mają ten blok. Główne dziedziny są następujące.

Typ: Definiuje zachowanie procesu przy starcie. Ma następujące wartości.
Type=simple: Wartość domyślna, wykonaj polecenie określone przez ExecStart, aby rozpocząć główny proces
type=forking: Fork tworzy proces potomny z procesu nadrzędnego, który natychmiast po utworzeniu go zakończy
Type=oneshot: Jednorazowy proces, Systemd czeka na zakończenie bieżącej usługi, zanim będzie kontynuował wykonanie
Type=dbus: Obecna usługa jest uruchamiana przez D-Bus
type=notify: Po uruchomieniu bieżącej usługi Systemd zostanie powiadomiony i będzie kontynuowany
type=idle: Aktualna usługa będzie działać tylko wtedy, gdy inne zadania zostaną wykonane
ExecStart: Polecenie uruchomienia bieżącej usługi
ExecStartPre: Polecenie wykonywane przed rozpoczęciem bieżącej usługi
ExecStartPost: Polecenie wykonywane po uruchomieniu bieżącej usługi
ExecReload: Polecenie wykonywane po wznowieniu bieżącej usługi
ExecStop: Polecenie wykonywane po zatrzymaniu bieżącej usługi
ExecStopPost: Zatrzymaj polecenie wykonywane w momencie jego podania
RestartSec: Liczba sekund między automatycznym uruchomieniem usługi bieżącej
Restart: Określa okoliczności, w których Systemd automatycznie wznowi aktualną usługę, z możliwymi wartościami takimi jak zawsze, na sukces, na niepowodzeniu, na nienormalnie, na przerwanie, na watchdog
TimeoutSec: Określa liczbę sekund, jaką Systemd czeka przed zatrzymaniem bieżącej usługi
Środowisko: Określ zmienną środowiskową


 Ziemianin| Opublikowano 11.12.2021 17:37:33 |
Type=forking
Systemd uważa, że usługa uruchamia się pomyślnie, gdy proces serwisowy zostanie rozgałęziony, a proces nadrzędny zakończy działalność. Jeśli chodzi o zwykłe demony, chyba że jesteś pewien, że ta metoda startu nie spełnia twoich potrzeb, możesz zacząć od tego typu. Przy tym typu startu należy również określić PIDFile=, aby systemd mógł śledzić główny proces usługi

 Ziemianin| Opublikowano 15.12.2021 16:55:14 |
Polecenie EnvironmentFile

EnvironmentFile jest podobny do dyrektywy Environment (Environment Directive), ale czyta zmienne środowiskowe z pliku tekstowego. Plik tekstowy powinien zawierać przypisania zmiennych oddzielone podziałami wierszy

przykład

Możesz wziąć ten plik środowiska i użyć jego zmiennych w następujący sposób:



 Ziemianin| Opublikowano 04.01.2022 15:56:55 |
 Ziemianin| Opublikowano 05.01.2022 09:48:21 |
Dockerowa domyślna ścieżka pliku service /usr/lib/systemd/system/docker.service

 Ziemianin| Opublikowano 23.01.2022 22:57:56 |
Zobacz wszystkie statusy służby



Zapytaj, czy usługa jest włączona, używając NFS jako przykładu:

 Ziemianin| Opublikowano 25.02.2025 17:01:08 |
Usługi startowe hurtowo, które zaczynają się od ABC

 Ziemianin| Opublikowano 11.04.2025 15:57:14 |
DefaultTimeoutStartSec= oraz DefaultTimeoutStopSec= domyślnie 90 sekund w Menedżerze Systemowym i 90 sekund w Menedżerze użytkownika.

Logowanie do linku jest widoczne.

Zobacz konfigurację określonej usługi za pomocą następującego polecenia:


Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com