Jak napisać prostą usługę systemu

Jak napisać prostą usługę systemu

Cel

Napisz podstawową usługę SystemD.

Rozkłady

Będzie to działać na dowolnym systemie działającym dystrybucji.

Wymagania

Działający system Linux z uprawnieniami systemowymi i rootem.

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Wstęp

SystemD jest prawie nieunikniony. Pozwolił na tak wiele aspektów ekosystemu Linux, że każdy administrator Linuksa jest znany przynajmniej podstawami tego, jak to działa.

Jednym z głównych punktów sprzedaży SystemD jest łatwość pisania plików usług. To nie są skrypty. Zamiast tego są podstawowymi plikami konfiguracyjnymi. Chociaż mogą rosnąć jako złożone, są zwykle bardzo proste.

Utwórz plik

Usługi systemowe istnieją pod adresem /etc/systemd/system. Jeśli spojrzysz na swój system, wszystkie są tam. Właściwie otwórz się Sshd.praca. Przeznaj się i zobacz, co tam jest. Prawdopodobnie nie będziesz wiedział wszystko, ale z pewnością możesz zrozumieć niektóre z nich i rozpoznać, jak to jest proste.

Każdy .praca plik, który tworzysz w tym katalogu, można uruchomić jako usługa, jeśli skonstruujesz go poprawnie.

Utwórz plik, który chciałbyś z .praca rozszerzenie.

Jednostka

Pierwsza sekcja, którą musisz napisać, jest [Jednostka]. W przypadku podstawowej usługi wszystko, czego potrzebujesz, to podstawowy opis Twojej usługi. Rozpocznij w ten sposób.

[Jednostka] Opis = trochę o Twojej usłudze

Praca

[Praca] Block to większość treści konfiguracji. To jest blok zawierający dyrektywy, które informują o usłudze, jak i gdzie biegać.

Utwórz blok. Pierwszą rzeczą, którą musisz ustanowić, jest rodzaj usługi, jaką jest. To tylko prosta usługa, więc powiedz Systemdowi to.

Typ = prosty

Ten następny bit jest prawdopodobnie najważniejszy. Musisz powiedzieć Systemd, co wykonać. To właściwie zwykłe polecenie lub wywołanie skryptu. Spójrz na przykład.

ExecStart =/opt/scripts/run-backup.sh --full-do zewnątrz

Oczywiście nie masz tego skryptu, ale możesz zobaczyć, jak użyjesz tego samego typu polecenia, które normalnie wykonujesz.

SystemD jest również bardzo zdolny do ponownego uruchomienia nieudanych usług. To kolejny parametr, który można ustawić w tej konfiguracji. Jeśli chcesz, aby ponownie uruchomił, gdy się nie powiedzie, wypróbuj następujące.

Restart = na tle

Przydatne może być również określanie pliku PID dla Twojej usługi, jeśli go wymaga.

PIDFILE =/TMP/Yourservice.pid

Jeśli chcesz lub potrzebujesz konkretnego użytkownika lub katalogu, możesz to zrobić.

User = srvuser pracujący

Możesz także ustawić katalog środowiska wykonawczego i uprawnienia plików tego katalogu podczas używania.

Runtimedirectory = Twoja obsługa runtimedirectoryMode = 0755

Możesz zrobić wiele więcej, ale dzięki tym podstawom powinieneś być w stanie zebrać własne proste usługi i pracować z istniejącymi.

zainstalować

Wreszcie jest [Zainstalować] blok. Wszystko, co musisz tutaj zrobić, to określić, w jaki sposób powinna być włączona Twoja usługa. Najczęstszym sposobem na to jest Multi-użytkownik.cel.

[Instalacja] WantedBy = Multi-User.cel

Zamykanie myśli

To wszystko tutaj jest dla podstaw. Z pewnością możesz tworzyć i modyfikować podstawowe, a nawet nieco bardziej zaawansowane usługi. Mamy nadzieję, że zyskasz większą pewność siebie, współpracując z SystemD i poczujesz się bardziej komfortowo, tworząc własne pliki usług z większym doświadczeniem.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Pobierz Linux
  • Najlepszy Linux Distro dla programistów
  • Instalacja OpenLitespeed w Linux
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • MX Linux vs Ubuntu
  • Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…
  • Podstawowe polecenia Linux