ఈ గైడ్లో, Linuxలో వినియోగదారు-నిర్దిష్ట సేవను ఎలా సృష్టించాలో మరియు systemctlని ఉపయోగించి దాన్ని ఎలా నిర్వహించాలో నేను వివరిస్తాను.
సాధారణ వినియోగదారు సేవను కలిగి ఉండటానికి కారణం
సాధారణ వినియోగదారు సేవ సిస్టమ్ సేవ నుండి భిన్నంగా ఉంటుంది. సాధారణ వినియోగదారు సేవ వినియోగదారు-కేంద్రీకృతంగా లాగిన్ చేయబడింది. ఈ సేవ దీన్ని సృష్టించిన వినియోగదారు సెషన్లో మాత్రమే పని చేస్తుంది.
సాధారణ వినియోగదారు సేవను ఎలా సృష్టించాలి
Linuxలో వినియోగదారు-నిర్దిష్ట సేవలు ఇందులో ఉంచబడ్డాయి ~/.config/systemd/user డైరెక్టరీ. ఈ డైరెక్టరీ లేనట్లయితే, దానిని సృష్టించవచ్చు.
mkdir -p ~ / .config / systemd / వినియోగదారుది -p అవసరమైతే పేరెంట్ డైరెక్టరీని సృష్టించడానికి ఫ్లాగ్ ఉపయోగించబడుతుంది. ది ~ స్థానిక వినియోగదారు హోమ్ డైరెక్టరీని సూచిస్తుంది మరియు దానికి సమానం /హోమ్/యూజర్ కాన్ఫిగర్ ఫైల్కు ముందు ఉన్న డాట్ దానిని దాచి ఉంచుతుంది. ప్రతి 30 నిమిషాలకు మెమరీ వినియోగాన్ని ఒక టెక్స్ట్కి వ్రాసే సాధారణ బాష్ స్క్రిప్ట్ ఫైల్ని క్రియేట్ చేద్దాం. అనే పేరుతో స్క్రిప్ట్ రూపొందిస్తున్నాను script.sh .
#! /బిన్/బాష్అయితే నిజం
చేయండి
ఉచిత -మీ >> / ఇల్లు / వినియోగదారు / myfile.txt
నిద్ర 1800
పూర్తి
ఈ స్క్రిప్ట్ ఎక్కడైనా సృష్టించబడవచ్చు, కానీ స్క్రిప్ట్ లోపల పేర్కొన్న మార్గం ఒక సంపూర్ణ మార్గం అని నిర్ధారించుకోండి.
ఇప్పుడు, పై స్క్రిప్ట్ను నేపథ్యంలో అమలు చేసే సేవను సృష్టిద్దాం. నానో లేదా Vim వంటి ఏదైనా టెక్స్ట్ ఎడిటర్ని ప్రారంభించండి మరియు క్రింద ఇచ్చిన పంక్తులను అందులో అతికించండి.
[ యూనిట్ ]వివరణ = నా సేవ
[ సేవ ]
టైప్ చేయండి = సాధారణ
ExecStart = / డబ్బా / బాష్ / ఇల్లు / వినియోగదారు / script.sh
పునఃప్రారంభించండి = వైఫల్యంపై
[ ఇన్స్టాల్ చేయండి ]
వాంటెడ్ బై =డిఫాల్ట్.టార్గెట్
[యూనిట్] విభాగంలో, ది వివరణ డైరెక్టివ్ కేవలం సేవ పేరును కలిగి ఉంటుంది. ఇది 80 అక్షరాల కంటే ఎక్కువ ఉండకూడదని గుర్తుంచుకోండి.
[సేవ] విభాగం మూడు ముఖ్యమైన ఆదేశాలను కలిగి ఉంది. ముందుగా, ది టైప్ చేయండి ; ఏది సాధారణ , అప్పుడు ExecStart మా కస్టమ్ స్క్రిప్ట్ యొక్క ఎక్జిక్యూటబుల్ కలిగి ఉంటుంది. విఫలమైనప్పుడు మాత్రమే సేవ పునఃప్రారంభించబడుతుంది.
[ఇన్స్టాల్] విభాగం కలిగి ఉంది వాంటెడ్ బై ఆదేశం డిఫాల్ట్.టార్గెట్ , సేవ సాధారణంగా multi-user.target లేదా graphical.target అయిన డిఫాల్ట్ రన్ స్థాయికి చేరుకున్నప్పుడు సిస్టమ్ స్థితిలో ప్రారంభించబడుతుందని సూచిస్తుంది.
ఇప్పుడు, ఫైల్ను లో సేవ్ చేయండి ~/.config/systemd/user ఏదైనా పేరుతో డైరెక్టరీ; దానికి నేను పేరు పెడుతున్నాను myservice.service .
సాధారణ వినియోగదారు సేవను ఎలా నిర్వహించాలి
సాధారణ వినియోగదారు సేవను నిర్వహించడానికి, systemctl ఆదేశంతో ఉపయోగించబడుతుంది - వినియోగదారు జెండా. ది - వినియోగదారు ఫ్లాగ్ అంటే వినియోగదారు సిస్టమ్ను కాకుండా సర్వీస్ మేనేజర్ను సంప్రదిస్తున్నారని సూచిస్తుంది.
వినియోగదారు-నిర్దిష్ట సేవా ఫైల్ను సృష్టించిన తర్వాత, systemd కాన్ఫిగరేషన్ ఫైల్లను మళ్లీ లోడ్ చేయడం మొదటి కీలకమైన దశ.
systemctl --వినియోగదారు డెమోన్-రీలోడ్ఇది మార్పులను వర్తింపజేస్తుంది.
సేవ అమలులో ఉందో లేదో తెలుసుకోవడానికి, systemctlని ఉపయోగించండి - వినియోగదారు జెండా మరియు ఎంపిక.
systemctl --వినియోగదారు హోదా [ సేవ_పేరు ]
సాధారణ వినియోగదారు సేవను నిర్వహించడానికి ఇతర ఆదేశాలు క్రింద పేర్కొనబడ్డాయి:
systemctl --వినియోగదారు ప్రారంభించండి [ సేవ_పేరు ]systemctl --వినియోగదారు ప్రారంభించు [ సేవ_పేరు ]
systemctl --వినియోగదారు ఆపండి [ సేవ_పేరు ]
systemctl --వినియోగదారు డిసేబుల్ [ సేవ_పేరు ]
systemctl --వినియోగదారు పునఃప్రారంభించండి [ సేవ_పేరు ]
సిస్టమ్ అడ్మిన్ అనుమతులతో సాధారణ వినియోగదారు సేవను ఎలా సృష్టించాలి
వినియోగదారు సృష్టించే అనేక సేవలు ఉన్నాయి, కానీ వాటిని అమలు చేయడానికి నిర్వాహక అనుమతి అవసరం. అటువంటి సేవలను జోడించడం ద్వారా సృష్టించవచ్చు వినియోగదారు [సేవ] విభాగానికి ఆదేశం.
ది వినియోగదారు సేవను అమలు చేయడానికి అనుమతులు అవసరమయ్యే వినియోగదారు పేరును పేర్కొనడానికి ఆదేశాన్ని ఉపయోగించవచ్చు అడ్మిన్ . కాబట్టి, ఒక సాధారణ వినియోగదారు అడ్మిన్ అనుమతులు కోరే సేవను సృష్టించాలనుకుంటే, ఆపై కేవలం జోడించడం వాడుకరి=అడ్మిన్ [సేవ] విభాగంలో ఉద్యోగం చేస్తుంది. అయితే, అడ్మిన్ యాక్టివ్గా ఉన్నంత వరకు ఈ సర్వీస్ యాక్టివ్గా ఉంటుంది. ఈ సేవ నేరుగా నిర్వాహకులచే నియంత్రించబడదని గుర్తుంచుకోండి.
ముగింపు
సాధారణ వినియోగదారు కూడా systemd సేవను సృష్టించవచ్చు, కానీ దానిని తప్పనిసరిగా ఉంచాలి ~/.config/systemd/user డైరెక్టరీ. దీన్ని సృష్టించిన వినియోగదారు లాగిన్ అయినంత కాలం ఈ సేవ నడుస్తుంది. ఈ సేవలు కూడా systemctl కమాండ్ ద్వారా నిర్వహించబడతాయి కానీ - వినియోగదారు జెండా. ఇది సిస్టమ్కు సేవను వినియోగదారు పిలుస్తున్నారని చెబుతుంది, సిస్టమ్ కాదు. ఈ గైడ్లో, నేను అనుకూల సాధారణ వినియోగదారు సేవను సృష్టించాను మరియు దానిని నిర్వహించడానికి systemctl ఆదేశాలను పేర్కొన్నాను. అంతేకాకుండా, నేను అడ్మినిస్ట్రేటివ్ అధికారాలు అవసరమయ్యే సేవను సృష్టించే పద్ధతిని కూడా హైలైట్ చేసాను.