Kā izveidot pakalpojuma failu operētājsistēmā Linux

Ka Izveidot Pakalpojuma Failu Operetajsistema Linux



Systemd init sistēma tagad ir daļa no gandrīz visiem Linux izplatījumiem. Kā administrators vai izstrādātājs jūs veidojat pakalpojumus, kurus systemd var pārvaldīt. Piemēram, ja vēlaties palaist pakalpojumus sāknēšanas laikā vai vēlaties tos manuāli kontrolēt, to var izdarīt, izmantojot pielāgotu pakalpojuma failu.

Šajā apmācībā es apskatīšu, kā izveidot sistēmas pakalpojuma failu operētājsistēmā Linux.







Kas ir pakalpojuma fails

Pirms turpināt, sapratīsim, kas ir sistēmas pakalpojuma fails un kā tas tiek izveidots operētājsistēmā Linux.



Systemd pakalpojuma fails satur instrukcijas, kas ir iestatītas systemd, lai pārvaldītu pakalpojumu. Parasti tajā ir trīs sadaļas:



  • Vienība
  • apkalpošana
  • Uzstādīt

The Vienība sadaļā ir ietverta pamatinformācija par pakalpojumu, piemēram, īss apraksts, dokumentācijas lapas un ceļš uz atkarībām. The Uzstādīt sadaļa nav obligāta, taču parasti tā pārvalda, kādā sistēmas stāvoklī pakalpojums ir jāiespējo.





The apkalpošana sadaļa parasti atrodas starp sadaļu Ierīce un Instalēšana. Tas galvenokārt satur pakalpojuma veidu un izpildāmo failu ceļu, kas būtībā ir komandas, kas jāizpilda, izsaucot pakalpojumu, izmantojot systemd.

Lūk, kā izskatās tipiska pakalpojuma failu struktūra.



[ Vienība ]

Direktīva1 =instrukcija

Direktīva2 =instrukcija



[ apkalpošana ]

Direktīva1 =instrukcija

Direktīva2 =instrukcija



[ Uzstādīt ]

Direktīva1 =instrukcija

Direktīva2 =instrukcija

Šeit direktīvas ir parametri, kas ņem to attiecīgo ievadi. Piemēram, Apraksts direktīva aizņem pakalpojuma nosaukuma virkni. Līdzīgā veidā, ExecStart ņem vērā visu izpildāmā faila ceļu.

Tipisks pakalpojuma fails ssh.service ir norādīts zemāk.

Kā izveidot pakalpojuma failu

Lai izveidotu sistēmas pakalpojumu, ir jāsaprot galvenās direktīvas. Šajā rokasgrāmatā es apskatīšu galvenās direktīvas, kas var palīdzēt jums izveidot pilnībā funkcionējošu pakalpojuma failu.

Pakalpojuma faila izveide ietver vairākas darbības, sāksim ar skripta faila izveidi.

Piezīme: Lai turpinātu ar tālāk minēto metodi, jums ir jābūt root tiesībām.

1. Skripta izveide

Sākotnējā darbība ietver koda izveidi, kas tiks izpildīts, kad pakalpojums sāks savu darbību. Šai apmācībai es izveidoju bash skriptu, kas saglabās Linux sistēmas darbības laiku un atmiņas lietojumu.

Izveidosim skriptu pašreizējā direktorijā ar nosaukumu myscript.sh izmantojot nano redaktoru.

sudo nano myscript.sh

Tagad failam pievienojiet tālāk norādīto skriptu un saglabājiet to, nospiežot ctrl+x un tad un .

#!/bin/bash

atbalss '>>Šeit ir jūsu sistēmas darbības laiks<<' > mājas / pats / mans fails.txt

darbspējas laiks >> mājas / pats / mans fails.txt

atbalss '>>Šeit ir jūsu sistēmas atmiņas lietojums<<' >> / mājas / pats / mans fails.txt

bezmaksas -m >> mājas / pats / mans fails.txt

Gulēt 60

Skripts satur pāris atbalss virknes un darbspējas laiks un bezmaksas komandas.

The darbspējas laiks komanda operētājsistēmā Linux tiek izmantota, lai izdrukātu, cik ilgi sistēma ir darbojusies un cik lietotāju ir savienoti ar vidējo sistēmas slodzi pēdējo 1, 5 un 15 minūšu laikā.

The bezmaksas komanda tiek izmantota, lai izdrukātu sistēmas atmiņas lietojumu, savukārt -m karodziņš tiek izmantots, lai drukātu izvadi MB .

Lai saglabātu informāciju teksta failā, mēs izmantojam īpašus operatorus, ko sauc par novirzīšanas operatoriem. The > operators tiek izmantots teksta ievietošanai minētajā teksta failā. Tomēr, ja fails vēl nepastāv, tas tiks izveidots. Kamēr >> operators tiek izmantots teksta pievienošanai failā. The Gulēt komanda tiek izmantota, lai uzturētu pakalpojuma darbību vismaz vienu minūti.

Tagad padariet skriptu izpildāmu, piešķirot nepieciešamās atļaujas.

sudo chmod +x myscript.sh

Skriptam tagad ir izpildes atļauja, pāriesim uz nākamo sadaļu.

Piezīme: Lai pakalpojuma failā nebūtu kļūdu, bash skriptā izmantojiet faila absolūto ceļu.

2. .service faila izveide

Pēc tam izveidojiet pakalpojuma failu ar .apkalpošana pagarinājumu. Pakalpojuma fails ir jāizveido mapē /etc/systemd/system direktoriju. Vispirms pārejiet uz šo direktoriju, izmantojot cd komandu.

cd / utt / systemd / sistēma

Pakalpojuma failu var izveidot jebkurā direktorijā un vēlāk pārvietot šo failu uz šo direktoriju.

Es veidoju pakalpojuma failu ar myservice.service nosaukums.

sudo nano myservice.service

Tagad pievienojiet failam šādas rindas.

[ Vienība ]

Apraksts =Mans pakalpojums

[ apkalpošana ]

Tips = vienkārši

ExecStart = / atkritumu tvertne / bash / mājas / pats / script.sh

Restartēt = neveiksmes gadījumā

[ Uzstādīt ]

WantedBy =vairāku lietotāju.mērķis

Pieraksti to [Vienība], [Pakalpojums], un [Uzstādīt] ir reģistrjutīgs . Pakalpojuma fails nedarbosies, ja kāds no tiem ir minēts nepareizi, piemēram, [UNIT] vai [SERVICE].

Pakalpojuma nosaukums ir norādīts kā Mans pakalpojums iekš Apraksts direktīva [Vienība] sadaļā.

The Tips no pakalpojuma ir vienkārši iekš [Apkalpošana] sadaļā, kas ir noklusējuma veids. Dakšošana , Viens šāviens , paziņot , dbus , un tukšgaita ir daži citi veidi.

Ja vēlaties padarīt pakalpojumu lietotājam specifisku, tad Lietotājs direktīvu var izmantot arī ar lietotāja lietotājvārdu. Izmantojot šo direktīvu, pakalpojuma lietotāja atļauja būs atkarīga.

Kamēr ExecStart direktīva satur pilnu izpildāmā faila ceļu. Iepriekš minētajā piemērā skripta fails myscript.sh tiek glabāts /home/sam/ direktoriju. Šī direktīva faktiski pārvalda, ko izpildīt, kad pakalpojumu izsauc systemd. Ja komandas pilnais ceļš nav norādīts, tā tiks automātiski atrisināta, lai noteiktu absolūtos ceļus, piemēram, /usr/local/bin , /usr/bin/, un /bin . Ir pilnīgi pareizi izmantot izpildāmo nosaukumu, kamēr tie atrodas standarta komandu direktorijos, taču pretējā gadījumā norādiet absolūto ceļu. Ņemiet vērā, ka var izmantot arī vairākas komandas, kas ir atdalītas ar semikolu (;).

The [Uzstādīt] sadaļa nav obligāta; tomēr tas norāda, kā pakalpojums ir iespējots. The WantedBy direktīva izmanto izpildes līmeņa mērķa failus kā parametrus. Dažādi mērķa faili norādīja dažādus sistēmas darbības līmeņus, piemēram, izslēgt , glābšana , vairāku lietotāju , grafisks , un pārstartēt .

The vairāku lietotāju.mērķis nozīmē, ka pakalpojums tiks iespējots, kad sistēma ir tādā stāvoklī, kas atļauj vairāku lietotāju negrafiskas sesijas.

3. Pakalpojuma aktivizēšana

Lai aktivizētu pakalpojumu, vispirms atkārtoti ielādējiet sistēmas konfigurācijas, izmantojot systemctl lietderība.

sudo systemctl daemon-reload

Pēc tam vēlreiz aktivizējiet pakalpojumu, izmantojot systemctl komanda ar iespējot .

sudo systemctl iespējot myservice.service

Lai pārbaudītu, pārbaudiet pakalpojuma statusu, izmantojot systemctl statuss komandu.

Pakalpojums veiksmīgi darbojas.

Tagad lasīsim teksta failu mans fails.txt gadā izveidotais pakalpojums /mājas direktoriju.

Kā izveidot Systemd pakalpojuma failu parastam lietotājam

Pakalpojuma faila izveides procedūra parastam lietotājam ir līdzīga pakalpojuma faila izveides metodei, ko veic administrators. Tomēr direktorijs pakalpojuma faila saglabāšanai parastajiem lietotājiem ir atšķirīgs. Parastajiem lietotājiem savi pakalpojumu faili ir jāievieto mapē ~/.config/systemd/user . Šis direktorijs ir jāizveido, izmantojot mkdir komandu.

mkdir ~ / .config / systemd / lietotājs

Lai parasts lietotājs aktivizētu pakalpojumu – lietotājs komanda tiek ievietota ar systemctl tā vietā sudo .

systemctl -- lietotājs dēmons-pārlādēt

systemctl -- lietotājs iespējot PAKALPOJUMS-NAME.service

systemctl -- lietotājs statuss SERVICE-NAME.service

The – lietotājs opcija tiek izmantota, lai pārvaldītu lietotāja sistēmas pakalpojumu failus.

Kā noņemt pakalpojuma failu

Lai noņemtu pakalpojuma failu, vispirms pakalpojums ir jāpārtrauc.

sudo systemctl stop SERVICE-NAME.service

Pārbaudiet statusu, izmantojot systemctl statuss komanda, lai uzzinātu, vai pakalpojums ir apturēts vai nē. Pēc tam noņemiet pakalpojuma failu, izmantojot rm komandu.

sudo rm / utt / systemd / sistēma / PAKALPOJUMS-NAME.service

Tagad atkārtoti ielādējiet systemd konfigurācija.

sudo systemctl daemon-reload

Secinājums

Pielāgotais systemd pakalpojums ir izdevīgs dažādos scenārijos. Šajā rokasgrāmatā mēs uzzinājām, kā sistēmas administratoram izveidot pielāgotu sistēmas pakalpojuma failu un kā parasti lietotāji var izveidot pakalpojuma failu. Turklāt mēs redzam arī pakalpojuma faila noņemšanas procedūru.