லினக்ஸில் சேவைகள் அவற்றின் உள்ளமைவு கோப்பு மூலம் நிர்வகிக்கப்படுகின்றன. சேவையின் உள்ளமைவு கோப்பில் மாற்றங்கள் செய்யப்பட்டால், மாற்றங்களைப் பயன்படுத்துவதற்கு சேவையை மறுதொடக்கம் செய்வது அவசியம். சேவையை மறுதொடக்கம் செய்தவுடன், systemd அமைப்பு கோப்பை மறுமதிப்பீடு செய்து, மாற்றங்களைப் பயன்படுத்துகிறது.
இந்த வழிகாட்டியில், லினக்ஸில் ஒரு சேவையை மறுதொடக்கம் செய்ய systemctl ஐ எவ்வாறு பயன்படுத்துவது என்பதை நான் பார்க்கிறேன்.
குறிப்பு: இந்த வழிகாட்டி உபுண்டு 22.04 இல் செயல்படுத்தப்படும் கட்டளைகள் மற்றும் வழிமுறைகளை உள்ளடக்கியது. systemd சேவை மேலாளருடன் வரும் விநியோகங்களில் எந்த பிரச்சனையும் இல்லாமல் கட்டளை செயல்படும்.
systemctl கட்டளையை மறுதொடக்கம் செய்யவும்
தி மறுதொடக்கம் கட்டளை அடிப்படையில் ஒரு சேவையை நிறுத்தி மீண்டும் தொடங்கும். சேவை அல்லது அலகு செயல்படவில்லை என்றால், மறுதொடக்கம் கட்டளை அதன் செயல்பாட்டைத் தொடங்கும்.
மறுதொடக்கம் கட்டளை சேவையுடன் இணைக்கப்பட்ட செயல்முறைகளை அகற்றாது. ஒரு சேவையால் திறக்கப்பட்ட கோப்புகளுக்கு இயக்க முறைமையால் ஒதுக்கப்படும் எதிர்மறை அல்லாத அடையாளங்காட்டிகளான கோப்பு விளக்கங்களை எடுத்துக் கொள்ளுங்கள். நீங்கள் ஒரு சேவையை மறுதொடக்கம் செய்தால், அந்த சேவையுடன் இணைக்கப்பட்ட கோப்பு விளக்கமானது மறுதொடக்கம் செய்யும் போது அங்கேயே இருக்கும்.
சேவையுடன் இணைக்கப்பட்ட அனைத்து செயல்முறைகளையும் நீங்கள் வெளியேற்ற விரும்பினால், நீங்கள் வெளிப்படையாக செய்ய வேண்டும் நிறுத்து சேவை மற்றும் தொடங்கு அது மீண்டும்.
ஒரு சேவையை மறுதொடக்கம் செய்வது எப்படி
லினக்ஸில், நீங்கள் ஒரு சேவையை மறுதொடக்கம் செய்யலாம் sudo systemctl உடன் கட்டளை வரி கருவி மறுதொடக்கம் விருப்பம் மற்றும் அதன் பெயரைக் குறிப்பிடுதல். பொதுவான தொடரியல் கீழே கொடுக்கப்பட்டுள்ளது:
சூடோ systemctl மறுதொடக்கம் [ சேவை-பெயர் ]
உனக்கு தேவைப்படும் சூடோ சேவையை மறுதொடக்கம் செய்வதற்கான சலுகைகள்.
எடுத்துக்காட்டாக, மீண்டும் தொடங்குவோம் ssh சேவை.
சூடோ systemctl மறுதொடக்கம் ssh.serviceபல சேவைகளை மறுதொடக்கம் செய்ய, ஒவ்வொரு சேவைப் பெயரையும் பின் இணைக்கவும் மறுதொடக்கம் ஒரு இடைவெளியுடன் கட்டளை.
சூடோ systemctl மறுதொடக்கம் ssh.service smbd.serviceமற்ற மறுதொடக்கம் கட்டளைகள் கீழே உள்ள அட்டவணையில் கொடுக்கப்பட்டுள்ளன:
முயற்சி-மறுதொடக்கம் | இது குறிப்பிட்ட சேவை அல்லது சேவைகளை நிறுத்துகிறது அல்லது தொடங்குகிறது மற்றும் சேவை இயங்கவில்லை என்றால், அது தொடங்காது |
மறுஏற்றம் அல்லது மறுதொடக்கம் | ஆதரிக்கப்படும் சேவை அல்லது சேவைகளை மீண்டும் ஏற்றவும், சேவை ஆதரிக்கப்படவில்லை என்றால், அதை மறுதொடக்கம் செய்து செயல்படுத்தவும் |
முயற்சி-மீண்டும் ஏற்ற-அல்லது-முயற்சி-மறுதொடக்கம் | ஆதரிக்கப்படும் சேவை அல்லது சேவைகளை மீண்டும் ஏற்றவும், சேவை ஆதரிக்கப்படவில்லை என்றால், அதைச் செயல்படுத்தாமல் மீண்டும் தொடங்கவும் |
மேலே உள்ள கட்டளைகளில், தி .சேவை நீட்டிப்பு விருப்பமானது.
ஒரு சேவையை தானாக மறுதொடக்கம் செய்வது எப்படி
லினக்ஸில், ஒரு சேவை தோல்வியுற்றால், தி systemd முன்னிருப்பாக அதை மறுதொடக்கம் செய்தேன். ஆயினும்கூட, பல சந்தர்ப்பங்களில், சேவையை மறுதொடக்கம் செய்யும் முறையை மாற்றியமைக்க வேண்டியிருக்கலாம். உதாரணமாக, தனிப்பயனாக்கப்பட்ட சேவையின் பிழைத்திருத்தச் செயல்பாட்டின் போது ஒருவருக்கு கைமுறையான நடவடிக்கை தேவைப்படலாம்.
systemd அலகு கோப்புகள் அல்லது சேவைக் கோப்புகள் அமைந்துள்ளன /etc/systemd/system அல்லது /lib/systemd/system முக்கியமாக சேவை எவ்வாறு உருவாக்கப்படுகிறது என்பதைப் பொறுத்தது. லினக்ஸில் யூனிட் கோப்புகளை பட்டியலிட, பின்வரும் கட்டளையைப் பயன்படுத்தவும்:
ls / லிப் / systemd / அமைப்புவெவ்வேறு சேவைகளின் உள்ளமைவு கோப்புகளை நீங்கள் பார்க்கலாம். திறப்போம் ssh.service பயன்படுத்தி கோப்பு நானோ ஆசிரியர்.
சூடோ நானோ / லிப் / systemd / அமைப்பு / ssh.serviceஇங்கே நீங்கள் மாற்றலாம் மறுதொடக்கம் அமைத்தல். முன்னிருப்பாக, இது அமைக்கப்பட்டுள்ளது அன்று-தோல்வி . சேவையை மறுதொடக்கம் செய்வதற்கான பிற விருப்பங்கள் கீழே பட்டியலிடப்பட்டுள்ளன:
- இல்லை
- எப்போதும்
- வெற்றியில்
- அன்று-தோல்வி
- அன்று-அசாதாரண
- கருக்கலைப்பு
- கண்காணிப்பு நாய்
யூனிட் சர்வீஸ் கோப்பில் உள்ள மற்றொரு விருப்பம் மறுதொடக்கம்Sec சேவை மறுதொடக்கம் செய்யப்படும் வினாடிகளின் எண்ணிக்கையைக் குறிப்பிட இது பயன்படுகிறது.
[ சேவை ]மறுதொடக்கம் = எப்போதும்
மறுதொடக்கம்Sec = 5
இந்த அறிவுறுத்தல்கள் துவக்கத்தில் சேவை மறுதொடக்கம் செய்யப்படும் மற்றும் குறுக்கீடு ஏற்பட்டால், 5 வினாடிகளுக்குப் பிறகு மீண்டும் தொடங்கப்படும்.
அமைப்பை மாற்றிய பின், மாற்றங்களைப் பயன்படுத்த பின்வரும் கட்டளையை இயக்கவும்.
சூடோ systemctl reload-daemonகருத்தில் கொள்ள வேண்டிய பிற முக்கியமான அமைப்புகள் StartLimitIntervalSec மற்றும் StartLimitBurst . இந்த விருப்பத்தேர்வுகள் அதிகபட்ச நேரத்தை அமைக்கவும், சேவையை மறுதொடக்கம் செய்வதற்கான அதிகபட்ச முயற்சிகளை செய்யவும் பயனுள்ளதாக இருக்கும்.
[ அலகு ]StartLimitIntervalSec = 300
StartLimitBurst = 4
300 வினாடிகள் மற்றும் 4 முயற்சிகளுக்குப் பிறகு தொடங்கவில்லை என்றால், systemd தானாகவே ஒரு சேவையை மறுதொடக்கம் செய்யும் முயற்சியை நிறுத்திவிடும் என்பதை மேலே உள்ள அறிவுறுத்தல் குறிக்கிறது.
5 வினாடிகளுக்குப் பிறகு சேவை மறுதொடக்கம் செய்யப்படுகிறதா இல்லையா என்பதைச் சரிபார்க்க, சேவையின் PID ஐப் பயன்படுத்தி சேவையைக் கொல்லவும். கொல்ல கட்டளை.
சூடோ கொல்ல -9 [ PID ]5 விநாடிகளுக்குப் பிறகு, சேவை மீண்டும் தொடங்கப்படும்; பயன்படுத்த இதழ் இன் நிலையை சரிபார்க்க கட்டளை ssh.service .
இதழ் -இல் ssh.service
சார்பு சேவையை மறுதொடக்கம் செய்யும் போது ஒரு சேவையை எவ்வாறு மறுதொடக்கம் செய்வது
லினக்ஸில், பல சேவைகள் ஒன்றையொன்று சார்ந்து இருக்கும், அதேபோல, சார்பு சேவையை மறுதொடக்கம் செய்யும் போது அவை மறுதொடக்கம் செய்யப்பட வேண்டும்.
ஒரு சேவையை மறுதொடக்கம் செய்ய யூனிட் சேவை கோப்பில் மூன்று வெவ்வேறு விருப்பங்கள் உள்ளன, ஒரு சார்பு சேவை மறுதொடக்கம் செய்யப்படுகிறது.
- பகுதியாக
- பிணைக்கிறது
- தேவை
இந்த விருப்பங்கள் அனைத்தும் ஒரே பணியைச் செய்கின்றன.
ssh.service இன் உதாரணத்தை எடுத்துக்கொள்வோம், இது apparmor.service சார்ந்தது; தேவையான அணுகலை வழங்க லினக்ஸ் பாதுகாப்பு தொகுதி. லினக்ஸ் பயன்பாட்டில் ஒரு சேவையின் சார்புகளை பட்டியலிட systemctl உடன் பட்டியல்-சார்புகள் கட்டளை மற்றும் சேவை பெயர்.
systemctl பட்டியல்-சார்புகள் ssh.service
எனவே, நீங்கள் apparmor.service ஐ மறுதொடக்கம் செய்யும் போது ssh.service ஐ மறுதொடக்கம் செய்ய விரும்பினால், apparmor.service கோப்பின் [Unit] பிரிவில் சேவைப் பெயருடன் PartOf, BindsTo அல்லது Requires விருப்பத்தையும் சேர்க்க வேண்டும்.
apparmor.service கோப்பைத் திறக்கவும்.
சூடோ நானோ / லிப் / systemd / அமைப்பு / apparmor.serviceபின்வரும் வரியை [அலகு] பிரிவில் சேர்க்கவும்.
பகுதியாக =ssh.service
கோப்பைச் சேமித்து, டீமான்-ரீலோட் கட்டளையை இயக்கவும்.
சூடோ systemctl டீமான்-ரீலோட்இப்போது, மீண்டும் தொடங்கவும் ssh.service பின்னர் சரிபார்க்கவும் apparmor.service பதிவு.
என்பதை நீங்கள் கவனிப்பீர்கள் apparmor.service அதே நேரத்தில் மீண்டும் தொடங்கப்பட்டது ssh.service மீண்டும் தொடங்கப்பட்டது.
முடிவுரை
லினக்ஸில் ஒரு சேவை அல்லது சேவையை மறுதொடக்கம் செய்ய, தி systemctl உடன் கட்டளை பயன்படுத்தப்படுகிறது மறுதொடக்கம் விருப்பம். தி systemctl systemd சேவைகளை நிர்வகிக்கப் பயன்படும் கட்டளை வரி பயன்பாடாகும். தி மறுதொடக்கம் விருப்பம் ஒரு சேவையைத் தொடங்கி பின்னர் அதை நிறுத்துகிறது, செயலற்ற சேவையை செயல்படுத்துகிறது. இருப்பினும், சேவையை இயக்காமல் மீண்டும் தொடங்கலாம் முயற்சி-மறுதொடக்கம் விருப்பம்.