Kaip sukurti paslaugų failą „Linux“.

Kaip Sukurti Paslaugu Faila Linux



Systemd init sistema dabar yra beveik visų Linux platinimų dalis. Kaip administratorius arba kūrėjas kuriate paslaugas, kurias systemd gali valdyti. Pavyzdžiui, jei norite paleisti paslaugas įkrovos metu arba norite jas valdyti rankiniu būdu, tai galite padaryti naudodami pasirinktinį paslaugos failą.

Šiame vadove apžvelgsiu, kaip sukurti sistemos paslaugos failą „Linux“.







Kas yra paslaugų failas

Prieš eidami toliau, supraskime, kas yra sistemos paslaugos failas ir kaip jis sukuriamas Linux sistemoje.



„Systemd“ paslaugos faile yra instrukcijos, nustatytos „systemd“ paslaugai valdyti. Paprastai jį sudaro trys skyriai:



  • Vienetas
  • Aptarnavimas
  • Diegti

The Vienetas skyriuje yra pagrindinė informacija apie paslaugą, pvz., trumpas aprašymas, dokumentacijos puslapiai ir priklausomybių kelias. The Diegti skyrius yra neprivalomas, tačiau paprastai jis valdo, kokioje sistemos būsenoje paslauga turėtų būti įjungta.





The Aptarnavimas skyrius paprastai yra tarp įrenginio ir diegimo skyrių. Jame pirmiausia yra paslaugos tipas ir vykdomųjų failų kelias, kurie iš esmės yra komandos, kurias reikia vykdyti, kai sistema iškviečia paslaugą.

Štai kaip atrodo tipinė paslaugų failų struktūra.



[ Vienetas ]

direktyva1 =instrukcija

direktyva2 =instrukcija



[ Aptarnavimas ]

direktyva1 =instrukcija

direktyva2 =instrukcija



[ Diegti ]

direktyva1 =instrukcija

direktyva2 =instrukcija

Čia direktyvos yra parametrai, kurie priima atitinkamą įvestį. Pavyzdžiui, apibūdinimas direktyva paima paslaugos pavadinimo eilutę. Panašiu būdu, ExecStart atsižvelgiama į visą vykdomojo failo kelią.

Įprastas paslaugų failas ssh.service pateikta žemiau.

Kaip sukurti paslaugų failą

Norint sukurti sisteminę paslaugą, būtina suprasti pagrindines direktyvas. Šiame vadove apžvelgsiu pagrindines direktyvas, kurios gali padėti sukurti visiškai funkcionalų paslaugų failą.

Paslaugos failo kūrimas apima kelis veiksmus, pradėkime nuo scenarijaus failo kūrimo.

Pastaba: Norėdami tęsti toliau nurodytą metodą, turite turėti root teises.

1. Scenarijaus kūrimas

Pradinis žingsnis apima kodo, kuris bus vykdomas, kai paslauga pradės veikti, sukūrimą. Šiam vadovui aš kuriu bash scenarijų, kuris išsaugos Linux sistemos veikimo laiką ir atminties naudojimą.

Dabartiniame kataloge sukurkime scenarijų pavadinimu myscript.sh naudojant nano redaktorių.

sudo nano myscript.sh

Dabar į failą pridėkite toliau pateiktą scenarijų ir išsaugokite jį paspausdami ctrl+x ir tada ir .

#!/bin/bash

aidas '>>Štai jūsų sistemos veikimo laikas<<' > namai / pats / mano failas.txt

veikimo laikas >> namai / pats / mano failas.txt

aidas '>>Čia yra jūsų sistemos atminties naudojimas<<' >> / namai / pats / mano failas.txt

Laisvas -m >> namai / pats / mano failas.txt

miegoti 60

Scenarijuje yra pora aido eilučių ir veikimo laikas ir Laisvas komandas.

The veikimo laikas „Linux“ komanda naudojama norint atspausdinti, kiek laiko sistema veikė ir kiek vartotojų yra prisijungę su vidutine sistemos apkrova per pastarąsias 1, 5 ir 15 minučių.

The Laisvas komanda naudojama sistemos atminties naudojimui spausdinti, o -m vėliavėlė naudojama išvesties spausdinimui MBs .

Norėdami išsaugoti informaciją tekstiniame faile, naudojame specialius operatorius, vadinamus peradresavimo operatoriais. The > operatorius naudojamas tekstui įterpti į minėtą tekstinį failą. Tačiau jei failo dar nėra, jis bus sukurtas. Kol >> operatorius naudojamas tekstui į failą pridėti. The miegoti komanda naudojama palaikyti paslaugos veiklą mažiausiai vieną minutę.

Dabar padarykite scenarijų vykdytiną suteikdami reikiamus leidimus.

sudo chmod +x myscript.sh

Dabar scenarijus turi vykdymo leidimą, pereikime prie kito skyriaus.

Pastaba: Kad paslaugos faile nebūtų klaidų, naudokite absoliutų failo kelią bash scenarijuje.

2. .service failo sukūrimas

Tada sukurkite paslaugos failą naudodami .paslauga pratęsimas. Paslaugos failas turi būti sukurtas /etc/systemd/system katalogas. Pirmiausia eikite į šį katalogą naudodami cd komandą.

cd / ir tt / sisteminis / sistema

Paslaugos failą galite sukurti bet kuriame kataloge ir vėliau perkelti jį į šį katalogą.

Kuriu paslaugos failą su mano paslauga.paslauga vardas.

sudo nano mano paslauga.paslauga

Dabar į failą pridėkite šias eilutes.

[ Vienetas ]

apibūdinimas =Mano paslauga

[ Aptarnavimas ]

Tipas = paprasta

ExecStart = / šiukšliadėžė / bash / namai / pats / scenarijus.sh

Perkrauti =gedimo atveju

[ Diegti ]

WantedBy =multi-user.target

Prisimink tai [Padalinys], [Paslauga], ir [Diegti] yra didžiosios ir mažosios raidės . Paslaugos failas neveiks, jei kuris nors iš jų bus paminėtas neteisingai, pvz., [UNIT] arba [SERVICE].

Paslaugos pavadinimas nurodytas kaip Mano paslauga viduje apibūdinimas direktyva [Vieta] skyrius.

The Tipas paslaugos yra paprastas viduje [Paslauga] skyrių, kuris yra numatytasis tipas. Šakės , vienas šūvis , pranešti , dbus , ir tuščiąja eiga yra keletas kitų tipų.

Jei norite, kad paslauga būtų pritaikyta vartotojui, tada Vartotojas direktyva taip pat gali būti naudojama su vartotojo vartotojo vardu. Naudojant šią direktyvą paslaugos vartotojo leidimas taps priklausomas.

Kol ExecStart direktyvoje yra visas vykdomojo failo kelias. Aukščiau pateiktame pavyzdyje scenarijaus failas myscript.sh yra saugomas /home/sam/ katalogas. Ši direktyva iš tikrųjų valdo, ką vykdyti, kai sistema iškviečia paslaugą. Jei nenurodytas visas komandos kelias, ji bus automatiškai išspręsta, kad būtų pataisyti absoliutūs keliai, pvz /usr/local/bin , /usr/bin/, ir /bin . Visiškai gerai naudoti vykdomąjį pavadinimą tol, kol jie yra standartiniuose komandų kataloguose, tačiau kitu atveju nurodykite absoliutų kelią. Atminkite, kad taip pat gali būti naudojamos kelios komandos, kurios yra atskirtos kabliataškiu (;).

The [Diegti] skyrius yra neprivalomas; tačiau tai rodo, kaip paslauga įjungta. The WantedBy direktyva priima vykdymo lygio tikslinius failus kaip parametrus. Įvairūs tiksliniai failai nurodė skirtingus sistemos paleidimo lygius, pvz išjungti , gelbėti , kelių vartotojų , grafinis , ir paleisti iš naujo .

The kelių vartotojų.taikinys reiškia, kad paslauga bus įjungta, kai sistema bus tokioje būsenoje, leidžianti kelių vartotojų negrafines sesijas.

3. Paslaugos aktyvinimas

Norėdami suaktyvinti paslaugą, pirmiausia iš naujo įkelkite sistemos konfigūracijas naudodami systemctl naudingumas.

sudo systemctl demon-reload

Tada vėl suaktyvinkite paslaugą naudodami systemctl komandą su įjungti .

sudo systemctl įjungti mano paslauga.paslauga

Norėdami patikrinti, patikrinkite paslaugos būseną naudodami systemctl būsena komandą.

Paslauga sėkmingai veikia.

Dabar skaitykime tekstinį failą mano failas.txt sukurta paslauga /namai katalogas.

Kaip sukurti „Systemd Service“ failą įprastam vartotojui

Paslaugos failo kūrimo įprastam vartotojui procedūra yra panaši į administratoriaus atliekamą paslaugos failo kūrimo būdą. Tačiau įprastų vartotojų paslaugų failo išsaugojimo katalogas skiriasi. Įprasti vartotojai turi įdėti savo paslaugų failus į ~/.config/systemd/user . Šis katalogas turi būti sukurtas naudojant mkdir komandą.

mkdir ~ / .config / sisteminis / Vartotojas

Norėdami suaktyvinti paslaugą įprastas vartotojas -Vartotojas komanda įterpiama su systemctl vietoj sudo .

systemctl --Vartotojas demonas-perkrauti

systemctl --Vartotojas įjungti SERVICE-NAME.service

systemctl --Vartotojas būsena SERVICE-NAME.service

The -Vartotojas parinktis naudojama tvarkyti vartotojo sistemos paslaugų failus.

Kaip pašalinti paslaugų failą

Norėdami pašalinti paslaugos failą, pirmiausia turite sustabdyti paslaugą.

sudo systemctl sustabdyti SERVICE-NAME.service

Patikrinkite būseną naudodami systemctl būsena komanda, kad sužinotų, ar paslauga sustabdyta, ar ne. Tada pašalinkite paslaugos failą naudodami rm komandą.

sudo rm / ir tt / sisteminis / sistema / SERVICE-NAME.service

Dabar iš naujo įkelkite sisteminis konfigūracija.

sudo systemctl demon-reload

Išvada

Pasirinktinė systemd paslauga yra naudinga įvairiais atvejais. Šiame vadove sužinojome, kaip sistemos administratoriui sukurti tinkintą sistemos paslaugos failą ir kaip įprasti vartotojai gali sukurti paslaugos failą. Be to, mes taip pat matome paslaugų failo pašalinimo procedūrą.