Kako stvoriti korisničke usluge i upravljati njima na Linuxu

Kako Stvoriti Korisnicke Usluge I Upravljati Njima Na Linuxu



Normalan korisnik Linuxa može stvoriti prilagođenu uslugu systemd. Dok systemd uslugama uglavnom upravljaju administratori sustava pomoću naredbe systemctl. Ista se naredba također može koristiti za upravljanje uslugama specifičnim za korisnika; sve što trebate je a -korisnik zastava.

U ovom ću vodiču pokriti kako stvoriti uslugu specifičnu za korisnika na Linuxu i kako njome upravljati pomoću systemctl-a.

Razlog za normalnu korisničku uslugu

Uobičajena korisnička usluga razlikuje se od usluge sustava. Uobičajena korisnička usluga usmjerena je na prijavljenog korisnika. Ova usluga će raditi samo u sesiji korisnika koji ju je kreirao.







Kako stvoriti normalnu korisničku uslugu

Usluge specifične za korisnika na Linuxu smještene su u ~/.config/systemd/user imenik. Ako ovaj direktorij nije prisutan, može se stvoriti.

mkdir -str ~ / .config / systemd / korisnik

The -str zastavica se koristi za stvaranje nadređenog direktorija ako je potrebno. The ~ označava domaći imenik lokalnog korisnika i ekvivalentan je /dom/korisnik dok je točka ispred konfiguracijske datoteke čini skrivenom. Kreirajmo jednostavnu datoteku bash skripte koja će zapisivati ​​korištenje memorije u tekst svakih 30 minuta. Izrađujem skriptu s imenom skripta.sh .

#! /bin/bash

dok pravi

čini

besplatno -m >> / Dom / korisnik / moja datoteka.txt

spavati 1800

učinjeno

Ova se skripta može stvoriti bilo gdje, ali osigurajte da je put naveden unutar skripte apsolutni put.

Kreirajmo sada uslugu koja će izvršiti gornju skriptu u pozadini. Pokrenite bilo koji uređivač teksta, kao što je Nano ili Vim, i u njega zalijepite donje retke.

[ Jedinica ]

Opis =Moja usluga

[ Servis ]

Tip =jednostavno

ExecStart = / kanta za smeće / udarac / Dom / korisnik / skripta.sh

Ponovno pokretanje =na-neuspjeh

[ Instalirati ]

WantedBy =zadano.cilj

U odjeljku [Jedinica], Opis direktiva jednostavno sadrži naziv usluge. Imajte na umu da ne smije imati više od 80 znakova.

Odjeljak [Service] sadrži tri važne direktive. Prvo, Tip ; koji je jednostavan , onda ExecStart koji sadrži izvršnu datoteku naše prilagođene skripte. Usluga će se ponovno pokrenuti samo ako dođe do kvara.

Odjeljak [Instaliraj] sadrži WantedBy direktiva koja je zadani.cilj , što implicira da će usluga biti omogućena u stanju sustava kada se dosegne na zadanoj razini izvođenja, koja je obično multi-user.target ili graphical.target.

Sada spremite datoteku u ~/.config/systemd/user imenik s bilo kojim nazivom; Ja ga imenujem moja usluga.usluga .

Kako upravljati normalnom korisničkom uslugom

Za upravljanje normalnom korisničkom uslugom koristi se naredba systemctl s -korisnik zastava. The -korisnik zastavica označava da korisnik kontaktira upravitelja usluge, a ne sustav.

Nakon kreiranja servisne datoteke specifične za korisnika, prvi ključni korak je ponovno učitavanje konfiguracijskih datoteka systemd.

systemctl --korisnik daemon-reload

Ovo će primijeniti promjene.

Da biste znali radi li usluga ili ne, upotrijebite systemctl s -korisnik zastava i opcija.

systemctl --korisnik status [ service_name ]

Ostale naredbe za upravljanje normalnom korisničkom uslugom navedene su u nastavku:

systemctl --korisnik početak [ service_name ]

systemctl --korisnik omogućiti [ service_name ]

systemctl --korisnik Stop [ service_name ]

systemctl --korisnik onemogućiti [ service_name ]

systemctl --korisnik ponovno pokretanje [ service_name ]

Kako stvoriti normalnu korisničku uslugu s dozvolama administratora sustava

Postoje mnoge usluge koje korisnik kreira, ali za njihovo pokretanje potrebna je administratorska dozvola. Takve usluge mogu se stvoriti dodavanjem a Korisnik direktivu u odjeljak [Service].

The Korisnik može se koristiti za spominjanje imena korisnika čija su dopuštenja potrebna za pokretanje usluge, kao što je admin . Dakle, ako običan korisnik želi stvoriti uslugu koja zahtijeva administratorske dozvole, jednostavno dodajte Korisnik=admin u odjeljku [Usluga] obavit će posao. Međutim, ova će usluga ostati aktivna sve dok je administrator aktivan. Imajte na umu da ovu uslugu ne može izravno kontrolirati administrator.

Zaključak

Normalni korisnik također može stvoriti systemd uslugu, ali ona mora biti postavljena ~/.config/systemd/user imenik. Ova usluga radi sve dok je korisnik koji ju je kreirao prijavljen. Ovim uslugama se također upravlja putem naredbe systemctl, ali s -korisnik zastava. Što govori systemd-u da uslugu poziva korisnik, a ne sustav. U ovom vodiču stvorio sam prilagođenu normalnu korisničku uslugu i spomenuo naredbe systemctl za upravljanje njome. Štoviše, također sam istaknuo metodu za stvaranje usluge koja zahtijeva administrativne privilegije.