"পরিষেবা পুনরায় চালু" এবং "পরিষেবা পুনরায় লোড" এর মধ্যে পার্থক্য কী?


73

আমি service restart [someservice]এবং এর মধ্যে পার্থক্য বুঝতে চেষ্টা করছি service reload [someservice]। আমি বুঝতে পারি যে "পুনঃসূচনা" পরিষেবাটি পুনরায় চালু করে যেখানে "পুনরায় লোড" কনফিগারেশনটি পুনরায় লোড করে, তবে আমি কোনটির প্রেক্ষাপটে কোনটি ব্যবহার করব তা নির্ধারণ করার জন্য আমি এর ব্যবহারিক নিদর্শনগুলি এতটা ভালভাবে বুঝতে পারি না।

একটি উদাহরণ: পোস্টগ্র্রেএসকিউএল সেটআপের জন্য আমি যে বেশিরভাগ গাইড পড়েছি সেগুলি বলে যে, একবার আমি রিমোট সংযোগের অনুমতি দেওয়ার জন্য পোস্টগ্রেএসএলসিএনএফ এবং পিজি_এইচ.এইচ.এল.এফ সম্পাদনা করেছি, আমার ইস্যু করা উচিত sudo service postgresql restart। তবে, আমি যদি উপরের বর্ণনার উপর ভিত্তি করে কোনটি ব্যবহার করতে হয় তা অনুমান করে আমি "পুনরায় লোড" বেছে নেব।

যদি বিষয়টি বিবেচিত হয় তবে আমি উবুন্টু ১১.১০-তে থাকি - যদিও আমি যতটা সম্ভব কার্যকরভাবে সম্ভব একটি ব্যাখ্যা আশা করি।


2
কয়েক বছর আগে আমি কয়েক হাজার ব্যবহারকারীর সাথে একটি সার্ভার চালাচ্ছিলাম। অ্যাপাচি পুনরায় আরম্ভ করা যে কোনও কারণে দ্রুত ছিল না, অ্যাপাচি পুনরায় চালু করতে প্রায় 3 মিনিট সময় লাগবে (কারণগুলি)। যাইহোক, 3 মিনিটের জন্য সার্ভারটি ডাউন থাকলে আমার বস প্রায় 800 টি ফোন কল পাবেন। পরিষেবা পুনরায় লোড সহ, 0 টি ফোন কল। পার্থক্য আছে।
j0h

উত্তর:


41

আপনি যা বলেছেন তা সঠিক, reloadপরিষেবাটিকে তার কনফিগারেশন ফাইলগুলি পুনরায় লোড করতে বলে। এর অর্থ এটি কনফিগারেশন পুনরায় লোড করার জন্য পর্যাপ্ত হওয়া উচিত; তবে এমন কিছু পরিষেবা থাকতে পারে যা "নিয়মটি অনুসরণ করে না" বা কনফিগারেশন ফাইলগুলি পুনরায় লোড করবে না। এ কারণে আপনি সম্ভবত নিরাপদ restart। আমি ব্যক্তিগতভাবে ব্যবহার করি না postgresql, তাই আমি জানি না।


1
ইতিমধ্যে, রয়েছেreload-or-restart
সুয়েহেগি

পোস্টগ্রেএসকিউএল-এর জন্য, আপনি একটি পুনরায় লোড দিয়ে /etc/postgresql/version/main/postgresql.conf এ পরিবর্তনগুলি প্রয়োগ করতে পারেন। Pg_hba.conf এ পরিবর্তনগুলি প্রয়োগ করার জন্য পুনরায় আরম্ভ করা দরকার।
আইদান মেলেন

63
  • পুনঃসূচনা = স্টপ + শুরু
  • পুনঃলোড = চলমান থাকুন + কনফিগারেশন ফাইলগুলি পুনরায় পড়ুন।

8

সমস্ত পরিষেবা সমর্থন করে না reload। যাঁরা করেন, তাঁদের পক্ষে পুনরায় চালু করা সাধারণত (যেমন পুনরায় লোডিং কম বা কোনও ডাউনটাইমের কারণ নয়))

দেবিয়ান নীতি ম্যানুয়াল নির্দিষ্ট করে যে প্রতিটি /etc/init.d/স্ক্রিপ্ট কোনও force-reloadক্রিয়াকে reloadসমর্থন করবে, যার অর্থ যদি পরিষেবাটি সমর্থন করে এবং restartযদি পরিষেবাটি পুনরায় লোডিং সমর্থন করে না।

আমি নিশ্চিত নই যে এটি কীভাবে আধুনিক উবুন্টু আপস্টার্ট বিশ্বে অনুবাদ করে।


1
ধন্যবাদ দেবিয়ান পলিসি ম্যানুয়ালটি সত্যিই দরকারী লিঙ্ক ছিল।
কোনও প্যাচ নয়

1
সিস্টেম সার্ভিসের মাধ্যমে না হলে সর্বাধিক সমর্থন পুনরায় লোড করুন, চিন্তা করে /etc/init.d/SomeProgram পুনরায় লোড করুন
j0h

4

সিস্টেমডের সাথে আমার অভিজ্ঞতার সাথে আবদ النور التومي উত্তরটি প্রসারিত করতে ।

সিস্টেমডে যখনই কোনও প্রক্রিয়া শুরু হয় এটি সিস্টেমযুক্ত প্রসঙ্গে চালিত হয়, এর সর্বাধিক স্পষ্ট উদাহরণ তার ইউনিট ফাইলে সংজ্ঞায়িত পরিবেশের ভেরিয়েবলগুলির সাথে।

সুতরাং আপনি যখন কোনও systemctl reload [someservice]সিগন্যাল প্রেরণ করেন এটি সমর্থিত হলে কৃত্রিমভাবে নিজেকে পুনরায় লোড করতে সেবার একটি সংকেত প্রেরণ করে। যদি তা না হয় তবে প্রক্রিয়াটি কেবল সিগন্যালটিকে উপেক্ষা করবে। এটি যদিও কনফিগারযোগ্য।

দয়া করে আমি কী বোঝাতে চাই? নতুন কনফিগারেশন বা কোড দিয়ে নতুন কর্মী শুরু করতে এবং পুরানো কর্মীদের যদি বর্তমানের অনুরোধগুলি দেওয়া হয় তবে তাদের থামিয়ে দিন।

এবং যদি আপনি systemctl restart [someservice]এটি তৈরি করেন তবে সিস্টেমটিএলকে পরিষেবাটি বন্ধ করতে, বর্তমান সিস্টেমযুক্ত প্রেক্ষাপটটি ধ্বংস করতে, একটি নতুন তৈরি করতে এবং পরিষেবাটি আবার চালাতে বলবে। এটি উদাহরণস্বরূপ সিস্টেম সিস্টেমের প্রসঙ্গে পরিবেশের ভেরিয়েবলগুলি পুনরায় লোড করা বা যদি পুনরায় লোড সমর্থন না করে তবে তা বোঝায়।

আশা করি এটি কিছুটা স্পষ্ট হয়েছে এবং আমি যদি কিছু ভুল করে থাকি তবে আমাকে জানান।


0

বর্তমানে যদি কোনও পরিষেবাতে কিকিংয়ের প্রয়োজন হয় (যেমন একটি কনফিগার ফাইল পরিবর্তন করা হয়েছে) তবে আপনি পরিষেবাটি অবহিত করতে পারেন, তবে এটি পুনরায় আরম্ভের দিকে নিয়ে যায়। যদি সার্ভিস ইতিমধ্যে চালু ছিল তবে পুনরায় লোড করা হয়ে গেলে এটি চমৎকার হবে (যদিও আমি মনে করি যে কিছু পরিষেবাদি হতে বাধ্য রয়েছে যা কিছু ফাইলের জন্য পুনরায় আর্টস প্রয়োজন, অন্যদের জন্য পুনরায় লোড করা প্রয়োজন)।

আমি সবচেয়ে জটিল উদাহরণটি ভাবতে পারি এটি অ্যাপাচি জাতীয় কিছু। সাধারণত আপনি এটি পুনরায় লোড করতে বলতে পারেন, তবে কখনও কখনও আপনার পরিবর্তে পুনরায় চালু করার অনুরোধ করতে হবে (উদাহরণস্বরূপ আপনি মডিউলগুলি যুক্ত / সরান))


0

পুনরায় লোড এবং পুনরায় আরম্ভ করার মধ্যে পোস্ট পার্সিস বড় পার্থক্যের জন্য একটি ভাল উদাহরণ, কারণ পরবর্তীকালে সমস্ত ডাটাবেস-ক্লায়েন্টকে সংযোগ বিচ্ছিন্ন করতে হবে।

যখন সংযোগগুলি রোলব্যাক করা উচিত নয়, আপনি প্রথমে pg_ctlcluster ব্যবহার করে " --for " ছাড়াই পরিষেবাটি বন্ধ করতে পারেন ।

মধ্যে /etc/postgres/{version}/{dbname}/postgresql.conf এবং http://www.postgresql.org/docs/manuals/ যে পরামিতি মত "এই পরামিতির শুধুমাত্র সার্ভার শুরুতে নির্ধারণ করা যাবে একটি মন্তব্য রয়েছে। "

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