Kako ustvariti in upravljati uporabniške storitve v sistemu Linux

Kako Ustvariti In Upravljati Uporabniske Storitve V Sistemu Linux



Običajni uporabnik Linuxa lahko ustvari storitev systemd po meri. Storitve systemd večinoma upravljajo sistemski skrbniki z ukazom systemctl. Isti ukaz lahko uporabite tudi za upravljanje uporabniško specifičnih storitev; vse kar potrebujete je a – uporabnik zastava.

V tem priročniku bom obravnaval, kako ustvariti storitev, specifično za uporabnika v Linuxu, in kako jo upravljati z uporabo systemctl.

Razlog za normalno uporabniško storitev

Običajna uporabniška storitev se razlikuje od sistemske storitve. Običajna uporabniška storitev je osredotočena na prijavljenega uporabnika. Ta storitev bo delovala samo v seji uporabnika, ki jo je ustvaril.







Kako ustvariti običajno uporabniško storitev

Uporabniško specifične storitve v Linuxu so postavljene v ~/.config/systemd/user imenik. Če tega imenika ni, ga lahko ustvarite.

mkdir -str ~ / .config / systemd / uporabnik

The -str zastavica se uporablja za ustvarjanje nadrejenega imenika, če je potrebno. The ~ označuje domači imenik lokalnega uporabnika in je enakovreden /domov/uporabnik medtem ko je pika pred konfiguracijsko datoteko skrita. Ustvarimo preprosto skriptno datoteko bash, ki bo zapisovala uporabo pomnilnika v besedilo vsakih 30 minut. Ustvarjam scenarij z imenom skripta.sh .

#! /bin/bash

medtem prav

narediti

prost -m >> / domov / uporabnik / moja datoteka.txt

spati 1800

Končano

Ta skript je mogoče ustvariti kjer koli, vendar zagotovite, da je pot, določena v skriptu, absolutna pot.

Sedaj pa ustvarimo storitev, ki bo v ozadju izvajala zgornji skript. Zaženite kateri koli urejevalnik besedil, na primer Nano ali Vim, in vanj prilepite spodnje vrstice.

[ Enota ]

Opis =Moja storitev

[ Storitev ]

Vrsta =preprosto

ExecStart = / koš / bash / domov / uporabnik / skripta.sh

Ponovni zagon =ob neuspehu

[ Namestite ]

WantedBy =default.target

V razdelku [Enota] je Opis vsebuje preprosto ime storitve. Upoštevajte, da ne sme biti daljši od 80 znakov.

Razdelek [Service] vsebuje tri pomembne direktive. Prvič, Vrsta ; kateri je preprosto , potem ExecStart ki vsebuje izvršljivo datoteko našega skripta po meri. Storitev se bo znova zagnala šele, ko pride do napake.

Razdelek [Namestitev] vsebuje WantedBy direktiva, ki je default.target , kar pomeni, da bo storitev omogočena v sistemskem stanju, ko bo dosežena na privzeti ravni izvajanja, ki je običajno multi-user.target ali graphical.target.

Zdaj shranite datoteko v ~/.config/systemd/user imenik s poljubnim imenom; Jaz ga imenujem mojastoritev.storitev .

Kako upravljati običajno uporabniško storitev

Za upravljanje običajne uporabniške storitve se uporablja ukaz systemctl z – uporabnik zastava. The – uporabnik zastavica pomeni, da se uporabnik obrne na upravitelja storitev in ne na sistem.

Po ustvarjanju storitvene datoteke, specifične za uporabnika, je prvi ključni korak ponovno nalaganje konfiguracijskih datotek systemd.

systemctl --uporabnik daemon-reload

To bo uveljavilo spremembe.

Če želite vedeti, ali se storitev izvaja ali ne, uporabite systemctl z – uporabnik zastavo in možnost.

systemctl --uporabnik stanje [ ime_storitve ]

Drugi ukazi za upravljanje običajne uporabniške storitve so navedeni spodaj:

systemctl --uporabnik začetek [ ime_storitve ]

systemctl --uporabnik omogočiti [ ime_storitve ]

systemctl --uporabnik stop [ ime_storitve ]

systemctl --uporabnik onemogočiti [ ime_storitve ]

systemctl --uporabnik ponovni zagon [ ime_storitve ]

Kako ustvariti običajno uporabniško storitev z dovoljenji sistemskega skrbnika

Obstaja veliko storitev, ki jih ustvari uporabnik, vendar potrebujejo skrbniško dovoljenje za zagon. Takšne storitve je mogoče ustvariti z dodajanjem a Uporabnik v razdelek [Storitev].

The Uporabnik lahko uporabite za omembo imena uporabnika, katerega dovoljenja so potrebna za izvajanje storitve, kot npr admin . Torej, če želi običajni uporabnik ustvariti storitev, ki zahteva skrbniška dovoljenja, preprosto doda Uporabnik=skrbnik v razdelku [Storitev] bo opravil svoje delo. Vendar pa bo ta storitev ostala aktivna, dokler je aktiven skrbnik. Upoštevajte, da te storitve ne more neposredno nadzorovati skrbnik.

Zaključek

Običajni uporabnik lahko ustvari tudi storitev systemd, vendar jo je treba namestiti ~/.config/systemd/user imenik. Ta storitev deluje, dokler je uporabnik, ki jo je ustvaril, prijavljen. Te storitve se prav tako upravljajo prek ukaza systemctl, vendar z – uporabnik zastava. Kar pove sistemu systemd, da storitev kliče uporabnik, ne sistem. V tem priročniku sem ustvaril običajno uporabniško storitev po meri in omenil ukaze systemctl za njeno upravljanje. Poleg tega sem izpostavil tudi metodo za ustvarjanje storitve, ki zahteva skrbniške privilegije.