Linuxలో సేవలు వాటి కాన్ఫిగరేషన్ ఫైల్ ద్వారా నిర్వహించబడతాయి. సేవ యొక్క కాన్ఫిగరేషన్ ఫైల్కు మార్పులు చేసినట్లయితే, మార్పులను వర్తింపజేయడానికి సేవ యొక్క పునఃప్రారంభాన్ని ప్రారంభించడం అవసరం. సేవను పునఃప్రారంభించిన తర్వాత, systemd కాన్ఫిగరేషన్ ఫైల్ను తిరిగి మూల్యాంకనం చేస్తుంది మరియు మార్పులను వర్తింపజేస్తుంది.
ఈ గైడ్లో, Linuxలో సేవను పునఃప్రారంభించడానికి systemctlని ఎలా ఉపయోగించాలో నేను పరిశీలిస్తాను.
గమనిక: ఈ గైడ్ ఉబుంటు 22.04లో అమలు చేయబడిన ఆదేశాలు మరియు సూచనలను కలిగి ఉంటుంది. systemd సర్వీస్ మేనేజర్తో వచ్చే డిస్ట్రిబ్యూషన్లపై ఎలాంటి సమస్యలు లేకుండా కమాండ్ పని చేస్తుంది.
systemctl కమాండ్ని పునఃప్రారంభించండి
ది పునఃప్రారంభించండి కమాండ్ తప్పనిసరిగా సేవను నిలిపివేస్తుంది మరియు దానిని మళ్లీ ప్రారంభిస్తుంది. సేవ లేదా యూనిట్ పనిచేయకపోతే, పునఃప్రారంభించే ఆదేశం దాని ఆపరేషన్ను ప్రారంభిస్తుంది.
పునఃప్రారంభ కమాండ్ సేవకు లింక్ చేయబడిన ప్రక్రియలను తీసివేయదు. ఫైల్ డిస్క్రిప్టర్ల ఉదాహరణను తీసుకోండి, అవి సేవ ద్వారా తెరిచిన ఫైల్లకు ఆపరేటింగ్ సిస్టమ్ ద్వారా కేటాయించబడిన నాన్-నెగటివ్ ఐడెంటిఫైయర్లు. మీరు సేవను పునఃప్రారంభిస్తే, ఆ సేవకు లింక్ చేయబడిన ఫైల్ డిస్క్రిప్టర్ పునఃప్రారంభ ప్రక్రియ సమయంలో అలాగే ఉంటుంది.
మీరు సేవకు లింక్ చేయబడిన అన్ని ప్రాసెస్లను ఫ్లష్ అవుట్ చేయాలనుకుంటే, మీరు స్పష్టంగా ఉండాలి ఆపండి సేవ మరియు ప్రారంభించండి అది మళ్ళీ.
సేవను ఎలా పునఃప్రారంభించాలి
Linuxలో, మీరు ఉపయోగించి సేవను పునఃప్రారంభించవచ్చు sudo systemctl తో కమాండ్ లైన్ సాధనం పునఃప్రారంభించండి ఎంపిక మరియు దాని పేరును పేర్కొనడం. సాధారణ వాక్యనిర్మాణం క్రింద ఇవ్వబడింది:
సుడో systemctl పునఃప్రారంభించండి [ సేవ-పేరు ]
నీకు అవసరం అవుతుంది సుడో సేవను పునఃప్రారంభించడానికి అధికారాలు.
ఉదాహరణకు, రీస్టార్ట్ చేద్దాం ssh సేవ.
సుడో systemctl పునఃప్రారంభించండి ssh.serviceబహుళ సేవలను పునఃప్రారంభించడానికి, ప్రతి సేవ పేరు తర్వాత జోడించండి పునఃప్రారంభించండి ఖాళీతో ఆదేశం.
సుడో systemctl ssh.service smbd.serviceని పునఃప్రారంభించండిఇతర పునఃప్రారంభ ఆదేశాలు క్రింది పట్టికలో ఇవ్వబడ్డాయి:
ప్రయత్నించండి-పునఃప్రారంభించు | ఇది పేర్కొన్న సేవ లేదా సేవలను ఆపివేస్తుంది లేదా ప్రారంభిస్తుంది మరియు సేవ అమలు కాకపోతే అది ప్రారంభించబడదు |
రీలోడ్-లేదా-రీస్టార్ట్ | మద్దతు ఉన్న సేవ లేదా సేవలను మళ్లీ లోడ్ చేయండి మరియు సేవకు మద్దతు లేకుంటే దాన్ని పునఃప్రారంభించి, సక్రియం చేయండి |
ప్రయత్నించండి-రీలోడ్ లేదా ప్రయత్నించండి-పునఃప్రారంభించండి | మద్దతు ఉన్న సేవ లేదా సేవలను మళ్లీ లోడ్ చేయండి మరియు సేవకు మద్దతు లేకుంటే, దాన్ని సక్రియం చేయకుండా పునఃప్రారంభించండి |
పై ఆదేశాలలో, ది .సేవ పొడిగింపు ఐచ్ఛికం.
సేవను స్వయంచాలకంగా పునఃప్రారంభించడం ఎలా
Linuxలో, ఒక సేవ విఫలమైతే, అప్పుడు systemd డిఫాల్ట్గా దాన్ని పునఃప్రారంభించారు. అయినప్పటికీ, అనేక సందర్భాల్లో, సేవ పునఃప్రారంభించే విధానాన్ని సవరించడం అవసరం కావచ్చు. ఉదాహరణకు, అనుకూలీకరించిన సేవ యొక్క డీబగ్గింగ్ ప్రక్రియలో ఒకరికి మాన్యువల్ చర్య అవసరం కావచ్చు.
systemd యూనిట్ ఫైల్లు లేదా సర్వీస్ ఫైల్లు ఆన్లో ఉన్నాయి /etc/systemd/system లేదా /lib/systemd/system ప్రధానంగా సేవ ఎలా సృష్టించబడుతుందనే దానిపై ఆధారపడి ఉంటుంది. Linuxలో యూనిట్ ఫైల్లను జాబితా చేయడానికి, కింది ఆదేశాన్ని ఉపయోగించండి:
ls / లిబ్ / systemd / వ్యవస్థమీరు వివిధ సేవల కాన్ఫిగరేషన్ ఫైల్లను చూడవచ్చు. తెరుద్దాం ssh.service ఉపయోగించి ఫైల్ నానో సంపాదకుడు.
సుడో నానో / లిబ్ / systemd / వ్యవస్థ / ssh.serviceఇక్కడ మీరు సవరించవచ్చు పునఃప్రారంభించండి అమరిక. డిఫాల్ట్గా, ఇది సెట్ చేయబడింది వైఫల్యంపై . సేవను పునఃప్రారంభించడానికి ఇతర ఎంపికలు క్రింద ఇవ్వబడ్డాయి:
- నం
- ఎల్లప్పుడూ
- విజయంపై
- వైఫల్యంపై
- ఆన్-అసాధారణ
- గర్భస్రావం మీద
- ఆన్-వాచ్డాగ్
యూనిట్ సర్వీస్ ఫైల్లో మరొక ఎంపిక పునఃప్రారంభించు సెక సేవ పునఃప్రారంభించబడే సెకన్ల సంఖ్యను పేర్కొనడానికి ఇది ఉపయోగించబడుతుంది.
[ సేవ ]పునఃప్రారంభించండి = ఎల్లప్పుడూ
పునఃప్రారంభించు సెక = 5
ఈ సూచనల ప్రకారం సేవ బూట్లో పునఃప్రారంభించబడుతుంది మరియు అంతరాయం కలిగితే, 5 సెకన్ల తర్వాత పునఃప్రారంభించబడుతుంది.
సెట్టింగ్ను సవరించిన తర్వాత, మార్పులను వర్తింపజేయడానికి కింది ఆదేశాన్ని అమలు చేయండి.
సుడో systemctl రీలోడ్-డెమోన్పరిగణనలోకి తీసుకోవలసిన ఇతర ముఖ్యమైన సెట్టింగ్లు StartLimitIntervalSec మరియు StartLimitBurst . ఈ ఎంపికలు గరిష్ట సమయాన్ని సెట్ చేయడానికి ఉపయోగపడతాయి మరియు సేవను పునఃప్రారంభించడానికి గరిష్టంగా మళ్లీ ప్రయత్నించవచ్చు.
[ యూనిట్ ]StartLimitIntervalSec = 300
StartLimitBurst = 4
300 సెకన్ల తర్వాత మరియు 4 మళ్లీ ప్రయత్నించిన తర్వాత ప్రారంభించకపోతే, సిస్టమ్డి సేవను పునఃప్రారంభించే ప్రయత్నాన్ని స్వయంచాలకంగా ఆపివేస్తుందని పై సూచన సూచిస్తుంది.
సేవ 5 సెకన్ల తర్వాత పునఃప్రారంభించబడిందో లేదో ధృవీకరించడానికి, సేవ యొక్క PIDని ఉపయోగించి సేవను చంపండి మరియు చంపేస్తాయి ఆదేశం.
సుడో చంపేస్తాయి -9 [ PID ]5 సెకన్ల తర్వాత, సేవ పునఃప్రారంభించబడుతుంది; ఉపయోగించడానికి journalctl యొక్క స్థితిని తనిఖీ చేయడానికి ఆదేశం ssh.service .
journalctl -లో ssh.service
డిపెండెంట్ సర్వీస్ రీస్టార్ట్ అయినప్పుడు సర్వీస్ని రీస్టార్ట్ చేయడం ఎలా
Linuxలో, అనేక సేవలు పరస్పరం ఆధారపడి ఉంటాయి మరియు అదేవిధంగా, డిపెండెంట్ సేవను పునఃప్రారంభించినప్పుడు వాటిని పునఃప్రారంభించవలసి ఉంటుంది.
ఒక సేవను పునఃప్రారంభించడానికి యూనిట్ సర్వీస్ ఫైల్లో మూడు విభిన్న ఎంపికలు ఉన్నాయి, డిపెండెంట్ సర్వీస్ రీస్టార్ట్ చేయబడింది.
- భాగంగా
- బైండ్స్ టు
- అవసరం
ఈ ఎంపికలన్నీ ఒకే పనిని చేస్తాయి.
apparmor.serviceపై ఆధారపడిన ssh.service యొక్క ఉదాహరణను తీసుకుందాం; అవసరమైన యాక్సెస్ని అందించడానికి Linux సెక్యూరిటీ మాడ్యూల్. Linux ఉపయోగంలో సేవ యొక్క డిపెండెన్సీలను జాబితా చేయడానికి systemctl తో జాబితా-ఆధారాలు కమాండ్ మరియు సేవ పేరు.
systemctl జాబితా-డిపెండెన్సీలు ssh.service
కాబట్టి, మీరు apparmor.serviceని పునఃప్రారంభించినప్పుడు ssh.serviceని పునఃప్రారంభించాలనుకుంటే, అప్పుడు మీరు apparmor.service ఫైల్లోని [యూనిట్] విభాగంలో సేవా పేరుతో పాటు PartOf, BindsTo లేదా Requires ఎంపికను చేర్చాలి.
apparmor.service ఫైల్ని తెరవండి.
సుడో నానో / లిబ్ / systemd / వ్యవస్థ / apparmor.service[యూనిట్] విభాగంలో కింది పంక్తిని జోడించండి.
భాగంగా =ssh.service
ఫైల్ను సేవ్ చేసి, డెమోన్-రీలోడ్ ఆదేశాన్ని అమలు చేయండి.
సుడో systemctl డెమోన్-రీలోడ్ఇప్పుడు, పునఃప్రారంభించండి ssh.service ఆపై తనిఖీ చేయండి apparmor.service లాగ్.
మీరు గమనించగలరు apparmor.service అదే సమయంలో పునఃప్రారంభించబడింది ssh.service పునఃప్రారంభించబడింది.
ముగింపు
Linuxలో సేవ లేదా సేవలను పునఃప్రారంభించడానికి, ది systemctl తో కమాండ్ ఉపయోగించబడుతుంది పునఃప్రారంభించండి ఎంపిక. ది systemctl systemd సేవలను నిర్వహించడానికి ఉపయోగించే కమాండ్ లైన్ యుటిలిటీ. ది పునఃప్రారంభించండి ఐచ్ఛికం సేవను ప్రారంభించి, ఆపై దానిని నిలిపివేస్తుంది, నిష్క్రియ సేవను సక్రియం చేస్తుంది. అయినప్పటికీ, మీరు సేవను సక్రియం చేయకుండా పునఃప్రారంభించవచ్చు ప్రయత్నించండి-పునఃప్రారంభించు ఎంపిక.