লিনাক্সে পরিষেবাগুলি তাদের কনফিগারেশন ফাইলের মাধ্যমে পরিচালিত হয়। যদি কোনও পরিষেবার কনফিগারেশন ফাইলে পরিবর্তন করা হয়, তবে পরিবর্তনগুলি প্রয়োগ করার জন্য পরিষেবাটি পুনরায় চালু করা প্রয়োজন। পরিষেবাটি পুনরায় চালু করার পরে, সিস্টেমড কনফিগারেশন ফাইলটি পুনরায় মূল্যায়ন করে এবং পরিবর্তনগুলি প্রয়োগ করে।
এই নির্দেশিকায়, আমি লিনাক্সে একটি পরিষেবা পুনরায় চালু করতে systemctl কীভাবে ব্যবহার করব তা নিয়ে যাচ্ছি।
বিঃদ্রঃ: এই নির্দেশিকায় উবুন্টু 22.04-এ কার্যকর করা কমান্ড এবং নির্দেশাবলী অন্তর্ভুক্ত রয়েছে। সিস্টেমড সার্ভিস ম্যানেজারের সাথে আসা ডিস্ট্রিবিউশনে কোনো সমস্যা ছাড়াই কমান্ডটি কাজ করবে।
সিস্টেমসিটিএল রিস্টার্ট কমান্ড
দ্য আবার শুরু কমান্ড মূলত একটি পরিষেবা বন্ধ করে এবং আবার শুরু করে। যদি পরিষেবা বা ইউনিট কার্যকর না হয়, তাহলে পুনরায় চালু কমান্ডটি তার অপারেশন শুরু করবে।
রিস্টার্ট কমান্ড পরিষেবার সাথে সংযুক্ত প্রসেসগুলিকে সরিয়ে দেয় না। ফাইল বর্ণনাকারীর উদাহরণ নিন, যেগুলি একটি পরিষেবা দ্বারা খোলা ফাইলগুলিতে অপারেটিং সিস্টেম দ্বারা নির্ধারিত অ-নেতিবাচক সনাক্তকারী। আপনি যদি একটি পরিষেবা পুনরায় চালু করেন, সেই পরিষেবার সাথে লিঙ্ক করা ফাইল বর্ণনাকারীটি পুনরায় চালু করার প্রক্রিয়া চলাকালীন সেখানে থাকবে৷
আপনি যদি পরিষেবাতে সমস্ত লিঙ্কযুক্ত প্রক্রিয়াগুলিকে ফ্লাশ করতে চান তবে আপনাকে স্পষ্টভাবে করতে হবে থামা সেবা এবং শুরু এটা আবার.
কীভাবে একটি পরিষেবা পুনরায় চালু করবেন
লিনাক্সে, আপনি ব্যবহার করে একটি পরিষেবা পুনরায় চালু করতে পারেন sudo systemctl সঙ্গে কমান্ড লাইন টুল আবার শুরু বিকল্প এবং এর নাম উল্লেখ করা। সাধারণ সিনট্যাক্স নীচে দেওয়া হল:
sudo systemctl পুনরায় চালু করুন [ কাজের নাম ]
আপনার প্রয়োজন হবে sudo একটি পরিষেবা পুনরায় চালু করার বিশেষাধিকার।
উদাহরণস্বরূপ, আসুন পুনরায় চালু করি ssh সেবা
sudo systemctl রিস্টার্ট ssh.serviceএকাধিক পরিষেবা পুনরায় চালু করতে, প্রতিটি পরিষেবার নাম এর পরে যুক্ত করুন৷ আবার শুরু একটি স্থান সহ কমান্ড।
sudo systemctl রিস্টার্ট ssh.service smbd.serviceঅন্যান্য পুনঃসূচনা কমান্ড নীচের টেবিলে দেওয়া হয়েছে:
পুনরায় চালু করার চেষ্টা করুন | এটি নির্দিষ্ট পরিষেবা বা পরিষেবাগুলি বন্ধ করে বা শুরু করে এবং পরিষেবাটি চালু না হলে এটি শুরু হয় না |
পুনরায় লোড বা পুনরায় চালু করুন | সমর্থিত পরিষেবা বা পরিষেবাগুলি পুনরায় লোড করুন এবং যদি পরিষেবাটি সমর্থিত না হয় তবে এটি পুনরায় চালু করুন এবং এটি সক্রিয় করুন |
পুনরায় লোড করার চেষ্টা করুন অথবা পুনরায় চালু করার চেষ্টা করুন | সমর্থিত পরিষেবা বা পরিষেবাগুলি পুনরায় লোড করুন এবং যদি পরিষেবাটি সমর্থিত না হয় তবে এটি সক্রিয় না করে পুনরায় চালু করুন৷ |
উপরের কমান্ডগুলিতে, .পরিষেবা এক্সটেনশন ঐচ্ছিক।
কীভাবে স্বয়ংক্রিয়ভাবে একটি পরিষেবা পুনরায় চালু করবেন
লিনাক্সে, যদি একটি পরিষেবা ব্যর্থ হয়, তাহলে সিস্টেমড ডিফল্টরূপে এটি পুনরায় আরম্ভ. তা সত্ত্বেও, অনেক ক্ষেত্রে, পরিষেবাটি পুনরায় চালু করার পদ্ধতিটি সংশোধন করার প্রয়োজন হতে পারে। উদাহরণস্বরূপ, কাস্টম-মেড পরিষেবার ডিবাগিং প্রক্রিয়া চলাকালীন একজনের ম্যানুয়াল অ্যাকশনের প্রয়োজন হতে পারে।
সিস্টেমড ইউনিট ফাইল বা পরিষেবা ফাইল অবস্থিত /etc/systemd/system বা /lib/systemd/system মূলত পরিষেবাটি কীভাবে তৈরি করা হয় তার উপর নির্ভর করে। লিনাক্সে ইউনিট ফাইল তালিকাভুক্ত করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
ls / lib / সিস্টেমড / পদ্ধতিআপনি বিভিন্ন পরিষেবার কনফিগারেশন ফাইল দেখতে পারেন। চলুন খুলি ssh.service ফাইল ব্যবহার করে ন্যানো সম্পাদক
sudo ন্যানো / lib / সিস্টেমড / পদ্ধতি / ssh.serviceএখানে আপনি পরিবর্তন করতে পারেন আবার শুরু বিন্যাস. ডিফল্টরূপে, এটা সেট করা হয় অন-ব্যর্থতা . একটি পরিষেবা পুনরায় চালু করার অন্যান্য বিকল্পগুলি নীচে তালিকাভুক্ত করা হয়েছে:
- না
- সর্বদা
- অন-সফল
- অন-ব্যর্থতা
- অস্বাভাবিক
- বন্ধ করা
- অন-ওয়াচডগ
ইউনিট পরিষেবা ফাইলের আরেকটি বিকল্প হল রিস্টার্ট সেক যেটি সেকেন্ডের সংখ্যা নির্দিষ্ট করতে ব্যবহৃত হয় যার পরে পরিষেবাটি পুনরায় চালু হবে।
[ সেবা ]আবার শুরু = সর্বদা
রিস্টার্ট সেক = 5
এই নির্দেশাবলীর অর্থ হল যে পরিষেবাটি বুটে পুনরায় চালু হবে এবং, যদি বাধাপ্রাপ্ত হয়, 5 সেকেন্ড পরে পুনরায় চালু করা হবে।
সেটিং পরিবর্তন করার পরে, পরিবর্তনগুলি প্রয়োগ করতে নিম্নলিখিত কমান্ডটি চালান।
sudo systemctl রিলোড-ডেমনবিবেচনায় নিতে অন্যান্য গুরুত্বপূর্ণ সেটিংস হয় StartLimitIntervalSec এবং StartLimitBurst . এই বিকল্পগুলি একটি পরিষেবা পুনঃসূচনা করার জন্য সর্বাধিক সময় এবং সর্বোচ্চ পুনঃপ্রচেষ্টা সেট করতে কার্যকর।
[ ইউনিট ]StartLimitIntervalSec = 300
StartLimitBurst = 4
উপরের নির্দেশটি নির্দেশ করে যে systemd স্বয়ংক্রিয়ভাবে একটি পরিষেবা পুনরায় চালু করার চেষ্টা করা বন্ধ করবে যদি এটি 300 সেকেন্ড এবং 4 বার চেষ্টা করার পরে শুরু না হয়।
পরিষেবাটি 5 সেকেন্ডের পরে পুনরায় চালু হয় কিনা তা যাচাই করতে, পরিষেবাটির পিআইডি ব্যবহার করে পরিষেবাটি বন্ধ করুন এবং হত্যা আদেশ
sudo হত্যা -9 [ পিআইডি ]5 সেকেন্ড পরে, পরিষেবাটি পুনরায় চালু হবে; ব্যবহার journalctl স্থিতি পরীক্ষা করার জন্য কমান্ড ssh.service .
journalctl -ভিতরে ssh.service
নির্ভরশীল পরিষেবা পুনরায় চালু হলে কীভাবে একটি পরিষেবা পুনরায় চালু করবেন
লিনাক্সে, অনেক পরিষেবা পরস্পর নির্ভরশীল, এবং একইভাবে, যখন একটি নির্ভরশীল পরিষেবা পুনরায় চালু করা হয় তখন তাদের পুনরায় চালু করা প্রয়োজন।
একটি পরিষেবা পুনরায় চালু করার জন্য ইউনিট পরিষেবা ফাইলে তিনটি ভিন্ন বিকল্প রয়েছে, একটি নির্ভরশীল পরিষেবা পুনরায় চালু করার সাথে।
- অংশ বিশেষ
- আবদ্ধ করে
- প্রয়োজন
এই সমস্ত বিকল্প একই কাজ সম্পাদন করে।
ssh.service-এর একটি উদাহরণ নেওয়া যাক যা apparmor.service-এর উপর নির্ভর করে; প্রয়োজনীয় অ্যাক্সেস প্রদানের জন্য একটি লিনাক্স নিরাপত্তা মডিউল। লিনাক্স ব্যবহারে একটি পরিষেবার নির্ভরতা তালিকাভুক্ত করতে systemctl সঙ্গে তালিকা-নির্ভরতা কমান্ড এবং পরিষেবার নাম।
systemctl তালিকা-নির্ভরতা ssh.service
সুতরাং, আপনি apparmor.service পুনরায় চালু করার সময় ssh.service পুনরায় চালু করতে চান, তাহলে apparmor.service ফাইলের [ইউনিট] বিভাগে পরিষেবার নামের সাথে PartOf, BindsTo বা Requires বিকল্পটি অন্তর্ভুক্ত করতে হবে।
apparmor.service ফাইলটি খুলুন।
sudo ন্যানো / lib / সিস্টেমড / পদ্ধতি / apparmor.service[ইউনিট] বিভাগে নিম্নলিখিত লাইন যোগ করুন।
অংশ বিশেষ =ssh.service
ফাইলটি সংরক্ষণ করুন এবং ডেমন-রিলোড কমান্ডটি চালান।
sudo systemctl ডেমন-রিলোডএখন, পুনরায় চালু করুন ssh.service এবং তারপর চেক করুন apparmor.service লগ
আপনি লক্ষ্য করবেন apparmor.service একই সময়ে পুনরায় চালু হয় ssh.service পুনরায় আরম্ভ
উপসংহার
লিনাক্সে একটি পরিষেবা বা পরিষেবা পুনরায় চালু করতে, systemctl কমান্ডের সাথে ব্যবহার করা হয় আবার শুরু বিকল্প দ্য systemctl সিস্টেমড পরিষেবাগুলি পরিচালনা করতে ব্যবহৃত একটি কমান্ড লাইন ইউটিলিটি। দ্য আবার শুরু বিকল্পটি একটি পরিষেবা শুরু করে এবং তারপরে এটি বন্ধ করে, একটি নিষ্ক্রিয় পরিষেবা সক্রিয় করে। যাইহোক, আপনি ব্যবহার করে এটি সক্রিয় না করে একটি পরিষেবা পুনরায় চালু করতে পারেন পুনরায় চালু করার চেষ্টা করুন বিকল্প