সংশোধনকালে কি সিস্টেমড ইউনিট ফাইলগুলি পুনরায় লোড করতে হবে?


138

ধরা যাক আমি একটি mine.serviceফাইল লিখি । তারপরে আমি ব্যবহার করি systemctl enable mine.service

যদি আমি পরে সম্পাদনা করার সিদ্ধান্ত নিই mine.service, তবে আমাকে কী বলতে হবে systemdযে mine.serviceএটি পরিবর্তন করা হয়েছিল? যদি তা হয় তবে আমি কীভাবে করব?

উত্তর:


168

পরে আপনি আপনার ইউনিট ফাইল পরিবর্তন করতে, আপনি চালানো উচিত systemctl daemon-reload, যেমন রূপরেখা এখানে

ডেমন-পুনরায় লোড
করুন সিস্টেমযুক্ত পরিচালক কনফিগারেশন পুনরায় লোড করুন। এটি সমস্ত জেনারেটর পুনরায় চালিত করবে (systemd.generator দেখুন (7) ), সমস্ত ইউনিট ফাইল পুনরায় লোড করুন এবং সম্পূর্ণ নির্ভরতা ট্রি পুনরায় তৈরি করুন। ডেমনটি পুনরায় লোড করা হচ্ছে, ব্যবহারকারী কনফিগারেশনের পক্ষ থেকে শুনে থাকা সমস্ত সকেট অ্যাক্সেসযোগ্য থাকবে।

তারপরে আপনি নিজের ইচ্ছামতো পরিষেবাটি পুনরায় চালু করতে (বা পুনরায় লোড) করতে পারেন

systemctl restart your-service-name

(ডিমন-পুনরায় লোডগুলি পরিষেবাগুলি পুনরায় লোড / পুনরায় আরম্ভ করবে না, কেবল সিস্টেমটিকে নতুন কনফিগারেশন সম্পর্কে সচেতন করে তোলে)


2
আমি দেখতে পেলাম systemctl restartযে পরিষেবাটি নিজেই পুনরায় চালু করতে আমার একটি চালানো দরকার ...
hwjp

3
কেবলমাত্র ক্ষেত্রে, daemon-reloadসর্বজনীন নয়, systemctl --user daemon-reloadব্যবহারকারীর পরিষেবাগুলির জন্য চালাতে হবে ।
ওলেগস জেরেমেজেভস

: একটি টীকা এটা তাদের rerunning আগে "জেনারেটর দ্বারা নির্মিত পূর্ববর্তী কনফিগারেশন মুছে দিন" freedesktop.org/software/systemd/man/systemd.generator.html
rogerdpack

8

উপরের উত্তরের সংযোজন হিসাবে: আপনি যদি [Install]নির্দেশে কিছু পরিবর্তন করেছেন , আপনি sudo systemctl reenable YOURUNITFILE.target ডিরেক্টরিগুলিতে সিমলিংকগুলি পুনরায় তৈরি করতে আপনাকে চালনা করতে হবে ।


এটি আমার জন্য কৌতুক করেছিল! কেন সিস্টেমটেক্স পরিষেবা পরিষেবা পুনরায় লোড করছে না তা পেল না।
অ্যান্টোনেস্টাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.