Paano Gumawa at Pamahalaan ang Mga Serbisyo ng User sa Linux

Paano Gumawa At Pamahalaan Ang Mga Serbisyo Ng User Sa Linux



Ang isang normal na gumagamit ng Linux ay maaaring lumikha ng isang pasadyang serbisyo ng systemd. Habang ang mga serbisyo ng systemd ay higit na pinamamahalaan ng mga administrator ng system gamit ang systemctl command. Ang parehong command ay maaari ding gamitin upang pamahalaan ang mga serbisyong partikular sa user; ang kailangan mo lang ay a –gumagamit bandila.

Sa gabay na ito, sasakupin ko kung paano lumikha ng serbisyong partikular sa gumagamit sa Linux at kung paano ito pamahalaan gamit ang systemctl.

Dahilan ng Pagkakaroon ng Normal na Serbisyo ng Gumagamit

Ang normal na serbisyo ng gumagamit ay iba sa serbisyo ng system. Ang normal na serbisyo ng gumagamit ay naka-log-in sa user-centric. Ang serbisyong ito ay gagana lamang sa session ng user na lumikha nito.







Paano Gumawa ng Normal na Serbisyo ng Gumagamit

Ang mga serbisyong partikular sa gumagamit sa Linux ay inilalagay sa ~/.config/systemd/user direktoryo. Kung wala ang direktoryo na ito, maaari itong gawin.

mkdir -p ~ / .config / sistemad / gumagamit

Ang -p flag ay ginagamit upang lumikha ng isang direktoryo ng magulang kung kinakailangan. Ang ~ ay nagpapahiwatig ng home directory ng lokal na user at katumbas ng /home/user habang ang tuldok bago ang config file ay ginagawa itong nakatago. Gumawa tayo ng simpleng bash script file na magsusulat ng paggamit ng memory sa isang text tuwing 30 minuto. Gumagawa ako ng script na may pangalan ng script.sh .

#! /bin/bash

habang totoo

gawin

libre -m >> / bahay / gumagamit / myfile.txt

matulog 1800

tapos na

Ang script na ito ay maaaring gawin kahit saan, ngunit tiyaking ang path na tinukoy sa loob ng script ay isang ganap na landas.

Ngayon, gumawa tayo ng isang serbisyo na isasagawa ang script sa itaas sa background. Ilunsad ang anumang text editor, tulad ng Nano o Vim, at i-paste ang mga linyang ibinigay sa ibaba dito.

[ Yunit ]

Paglalarawan = Aking Serbisyo

[ Serbisyo ]

Uri =simple

ExecStart = / bin / bash / bahay / gumagamit / script.sh

I-restart = on-failure

[ I-install ]

WantedBy =default.target

Sa seksyong [Yunit], ang Paglalarawan Ang direktiba ay naglalaman lamang ng pangalan ng serbisyo. Tandaan na hindi ito dapat higit sa 80 character.

Ang seksyong [Serbisyo] ay naglalaman ng tatlong mahahalagang direktiba. Una, ang Uri ; which is simple lang , pagkatapos ExecStart naglalaman ng executable ng aming custom na script. Ang serbisyo ay magsisimula lamang kapag may pagkabigo.

Ang seksyong [I-install] ay naglalaman ng WantedBy direktiba na default.target , na nagpapahiwatig na ang serbisyo ay paganahin sa estado ng system kapag naabot ito sa default na antas ng pagtakbo, na karaniwang multi-user.target o graphical.target.

Ngayon, i-save ang file sa ~/.config/systemd/user direktoryo na may anumang pangalan; pinangalanan ko ito myservice.service .

Paano Pamahalaan ang isang Normal na Serbisyo ng Gumagamit

Upang pamahalaan ang normal na serbisyo ng gumagamit, ang systemctl command ay ginagamit kasama ng –gumagamit bandila. Ang –gumagamit ang flag ay nagpapahiwatig na ang user ay nakikipag-ugnayan sa service manager, sa halip na sa system.

Pagkatapos gumawa ng file ng serbisyo na partikular sa user, ang unang mahalagang hakbang ay ang muling pagkarga ng mga file ng configuration ng systemd.

systemctl --gumagamit daemon-reload

Ilalapat nito ang mga pagbabago.

Upang malaman kung tumatakbo ang serbisyo o hindi, gamitin ang systemctl, kasama ang –gumagamit bandila at opsyon.

systemctl --gumagamit katayuan [ service_name ]

Ang iba pang mga utos upang pamahalaan ang normal na serbisyo ng gumagamit ay binanggit sa ibaba:

systemctl --gumagamit simulan [ service_name ]

systemctl --gumagamit paganahin [ service_name ]

systemctl --gumagamit huminto [ service_name ]

systemctl --gumagamit huwag paganahin [ service_name ]

systemctl --gumagamit i-restart [ service_name ]

Paano Gumawa ng Normal na Serbisyo ng User na may Mga Pahintulot sa Admin ng System

Maraming mga serbisyo na ginagawa ng isang user, ngunit nangangailangan sila ng pahintulot ng admin para tumakbo. Ang ganitong mga serbisyo ay maaaring malikha sa pamamagitan ng pagdaragdag ng a Gumagamit direktiba sa seksyong [Serbisyo].

Ang Gumagamit maaaring gamitin ang direktiba upang banggitin ang pangalan ng user na ang mga pahintulot ay kinakailangan upang patakbuhin ang serbisyo, tulad ng admin . Kaya, kung ang isang normal na user ay gustong lumikha ng isang serbisyo na humihingi ng mga pahintulot ng admin, pagkatapos ay idagdag lamang ang User=admin sa seksyong [Serbisyo] ay gagawin ang trabaho. Gayunpaman, mananatiling aktibo ang serbisyong ito hangga't aktibo ang admin. Tandaan na ang serbisyong ito ay hindi direktang makokontrol ng admin.

Konklusyon

Ang normal na user ay maaari ding lumikha ng isang systemd service, ngunit kailangan itong ilagay ~/.config/systemd/user direktoryo. Ang serbisyong ito ay tumatakbo hangga't ang user na lumikha nito ay naka-log in. Ang mga serbisyong ito ay pinamamahalaan din sa pamamagitan ng systemctl command ngunit may –gumagamit bandila. Na nagsasabi sa systemd na ang serbisyo ay tinatawag ng user, hindi ng system. Sa gabay na ito, lumikha ako ng isang pasadyang normal na serbisyo ng gumagamit at binanggit ang mga utos ng systemctl upang pamahalaan ito. Bukod dito, binigyang-diin ko rin ang isang paraan upang lumikha ng isang serbisyo na nangangailangan ng mga pribilehiyong pang-administratibo.