Kaip sukurti ir valdyti vartotojo paslaugas sistemoje „Linux“.

Kaip Sukurti Ir Valdyti Vartotojo Paslaugas Sistemoje Linux



Įprastas Linux vartotojas gali sukurti pasirinktinę sistemos paslaugą. Nors systemd paslaugas daugiausia valdo sistemos administratoriai, naudodami komandą systemctl. Ta pati komanda taip pat gali būti naudojama vartotojui būdingoms paslaugoms valdyti; viskas, ko jums reikia, yra a -Vartotojas vėliava.

Šiame vadove apžvelgsiu, kaip sukurti vartotojui skirtą paslaugą Linux sistemoje ir kaip ją valdyti naudojant systemctl.

Priežastis, kodėl teikiama įprasta vartotojo paslauga

Įprasta vartotojo paslauga skiriasi nuo sistemos paslaugos. Įprasta vartotojo paslauga yra orientuota į vartotoją prisijungus. Ši paslauga veiks tik ją sukūrusio vartotojo sesijoje.







Kaip sukurti įprastą vartotojo paslaugą

„Linux“ naudotojui skirtos paslaugos pateikiamos ~/.config/systemd/user katalogas. Jei šio katalogo nėra, jį galima sukurti.

mkdir -p ~ / .config / sisteminis / Vartotojas

The -p vėliavėlė naudojama pirminiam katalogui sukurti, jei reikia. The ~ nurodo vietinio vartotojo namų katalogą ir yra lygiavertis /namai/vartotojas o taškas prieš konfigūracijos failą jį paslėps. Sukurkime paprastą bash scenarijaus failą, kuris kas 30 minučių įrašys atminties naudojimą į tekstą. Aš kuriu scenarijų pavadinimu scenarijus.sh .

#! /bin/bash

kol tiesa

daryti

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

miegoti 1800 m

padaryta

Šį scenarijų galima sukurti bet kur, tačiau įsitikinkite, kad scenarijuje nurodytas kelias yra absoliutus kelias.

Dabar sukurkime paslaugą, kuri fone vykdys aukščiau pateiktą scenarijų. Paleiskite bet kurį teksto rengyklę, pvz., Nano arba Vim, ir įklijuokite jame toliau pateiktas eilutes.

[ Vienetas ]

apibūdinimas =Mano paslauga

[ Aptarnavimas ]

Tipas = paprasta

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

Perkrauti =gedimo atveju

[ Diegti ]

WantedBy =default.target

Skiltyje [Unit], apibūdinimas direktyvoje yra tiesiog paslaugos pavadinimas. Atminkite, kad jis neturėtų būti ilgesnis nei 80 simbolių.

Skyriuje [Paslauga] yra trys svarbios direktyvos. Pirma, Tipas ; kuris yra paprastas , tada ExecStart kuriame yra mūsų pasirinktinio scenarijaus vykdomasis failas. Paslauga bus paleista iš naujo tik įvykus gedimui.

Skyriuje [Įdiegti] yra WantedBy direktyva, kuri yra default.target , o tai reiškia, kad paslauga bus įjungta sistemos būsenoje, kai bus pasiektas numatytasis vykdymo lygis, kuris paprastai yra kelių vartotojų.target arba grafinis.target.

Dabar išsaugokite failą aplanke ~/.config/systemd/user katalogas bet kokiu pavadinimu; Aš tai įvardiju mano paslauga.paslauga .

Kaip valdyti įprastą vartotojo paslaugą

Norint valdyti įprastą vartotojo paslaugą, komanda systemctl naudojama kartu su -Vartotojas vėliava. The -Vartotojas vėliavėlė reiškia, kad vartotojas kreipiasi į paslaugų vadybininką, o ne į sistemą.

Sukūrus konkretaus vartotojo paslaugos failą, pirmas svarbus žingsnis yra iš naujo įkelti sistemos konfigūracijos failus.

systemctl --Vartotojas demonas-perkrauti

Tai pritaikys pakeitimus.

Norėdami sužinoti, ar paslauga veikia, ar ne, naudokite systemctl su -Vartotojas vėliava ir pasirinkimas.

systemctl --Vartotojas statusą [ paslaugos_pavadinimas ]

Toliau paminėtos kitos komandos, skirtos valdyti įprastą vartotojo paslaugą:

systemctl --Vartotojas pradėti [ paslaugos_pavadinimas ]

systemctl --Vartotojas įjungti [ paslaugos_pavadinimas ]

systemctl --Vartotojas sustabdyti [ paslaugos_pavadinimas ]

systemctl --Vartotojas išjungti [ paslaugos_pavadinimas ]

systemctl --Vartotojas perkrauti [ paslaugos_pavadinimas ]

Kaip sukurti įprastą vartotojo paslaugą su sistemos administratoriaus leidimais

Yra daug paslaugų, kurias sukuria vartotojas, tačiau jas vykdyti reikia administratoriaus leidimo. Tokias paslaugas galima sukurti pridedant a Vartotojas direktyvą į skyrių [Paslauga].

The Vartotojas direktyva gali būti naudojama norint paminėti vartotojo, kurio leidimai reikalingi paslaugai paleisti, vardą, pvz., admin . Taigi, jei įprastas vartotojas nori sukurti paslaugą, kuriai reikalingi administratoriaus leidimai, tiesiog pridėkite User=admin skiltyje [Paslauga] atliks darbą. Tačiau ši paslauga išliks aktyvi tol, kol bus aktyvus administratorius. Atminkite, kad šios paslaugos negali tiesiogiai valdyti administratorius.

Išvada

Paprastas vartotojas taip pat gali sukurti sisteminę paslaugą, tačiau ją reikia įdėti ~/.config/systemd/user katalogas. Ši paslauga veikia tol, kol ją sukūręs vartotojas yra prisijungęs. Šios paslaugos taip pat valdomos naudojant komandą systemctl, bet naudojant -Vartotojas vėliava. Tai praneša sistemai, kad paslauga skambina vartotojas, o ne sistema. Šiame vadove sukūriau pasirinktinę įprasto vartotojo paslaugą ir paminėjau systemctl komandas, skirtas jai valdyti. Be to, taip pat pabrėžiau būdą sukurti paslaugą, kuriai reikalingos administratoriaus teisės.