"স্টপ জব" ঠিক কী, যেমন "স্টপ জব চলছে ..."?


29

শাটডাউন কমান্ড জারি হওয়ার পরে, কখনও কখনও কেউ এর মতো স্থিতি বার্তা পায়:

A stop job is running for Session 1 of user xy

এবং তারপরে সিস্টেমটি কিছুক্ষণের জন্য স্তব্ধ হয়ে যায়, বা চিরতরে নির্ভর করে ???

তাহলে "স্টপ জব" ঠিক কী?

এছাড়াও, কেন এটি কখনও কখনও সময়টি পুরোপুরি সঠিকভাবে এবং অন্যান্য সময় চিরকালের জন্য চলতে পারে তা অনুমান করে?


1
এটা কি কাজ বন্ধ করা উচিত ? অধিবেশন কাজ বন্ধ করে দিয়েছে, যা আসলে চলছে না , এবং সুতরাং সমাপ্তির সংকেতগুলিতে সাড়া দেওয়ার সুযোগ নেই।
কাজ

উত্তর:


27

সিস্টেমড অভ্যন্তরীণভাবে "কাজ" এর সারির ক্ষেত্রে কাজ করে। প্রতিটি কাজ (কিছুটা সরলকরণ) নেওয়া একটি পদক্ষেপ: থামাতে, চেক করা, শুরু করতে বা কোনও নির্দিষ্ট ইউনিট পুনরায় চালু করতে ।

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

তারপরে এটি এনভুইড "কাজগুলি" সম্পাদনের চেষ্টা করে।

ইউজার এক্স এর সেশন 1 এর জন্য একটি স্টপ জব চলছে

ইউনিট প্রদর্শন নাম এখানে Session 1 of user xy। এটি (প্রদর্শনের নাম থেকে) একটি সেশন ইউনিট হবে, কোনও সার্ভিস ইউনিট নয়। এটি ইউজার-স্পেস লগইন সেশন অ্যাবস্ট্রাকশন যা সিস্টেমডের logindপ্রোগ্রাম এবং এর পিএএম প্লাগইনগুলি দ্বারা রক্ষণাবেক্ষণ করা হয় । এটি (সংক্ষেপে এবং তত্ত্বের ক্ষেত্রে) সেই সমস্ত প্রক্রিয়াটির একটি গ্রুপিং যা সেই ব্যবহারকারী কোথাও "লগইন সেশন" হিসাবে চলছে।

এর বিপরীতে যে চাকরীটি করা হয়েছিল তা হ'ল stop। এবং এটি সম্ভবত দীর্ঘ সময় নিচ্ছে কারণ ব্যবস্থাপনার লোকেরা সেশন শাটডাউন দিয়ে ভুলভাবে সেশন হ্যাংআপকে সঙ্কটে ফেলেছে । তারা পূর্ববর্তীটিকে কাজ করতে পেতে ভাঙ্গা দেয় এবং এর প্রতিক্রিয়ায় কিছু লোক প্রবীণকে কাজ করার জন্য পরবর্তীকে ভেঙে দেওয়ার ব্যবস্থা করে। সিস্টেমযুক্ত লোকদের সত্যই বুঝতে হবে যে তারা দুটি ভিন্ন জিনিস।

আপনার লগইন সেশনে, আপনার কাছে এমন কিছু আছে যা উপেক্ষা করে SIGTERMবা এটি একবার দেখা শেষ হতে শেষ হতে অনেক সময় নেয় SIGTERM। হাস্যকর বিষয় হল, পূর্ববর্তীটি হ'ল কিছু কাজের-নিয়ন্ত্রণ শেলের দীর্ঘকালীন আচরণ। লগইন সেশন নেতারা যখন এই বিশেষ কাজের-নিয়ন্ত্রণ শেলগুলি থাকে তখন তাদের সমাপ্তির সঠিক উপায়টি তাদের জানানো হয় যে অধিবেশনটি স্থগিত হয়ে গেছে , তারপরে তারা তাদের সমস্ত চাকরি (অভ্যন্তরীণ ব্যবস্থাপনায় আলাদা ধরণের কাজ) সমাপ্ত করে এবং তারপরে তাদের শেষ।

আসলে যা ঘটছে তা হ'ল সিস্টেমড ইউনিটটির স্টপ সময়সীমা অপেক্ষা না করে যতক্ষণ না এটি রিসর্ট হয় SIGKILL। এই সময়সীমা অবশ্যই ইউনিট প্রতি কনফিগারযোগ্য, এবং কখনই শেষ হবে না সেট করা যেতে পারে। সুতরাং কেন কেউ সম্ভাব্যভাবে বিভিন্ন আচরণ দেখতে পারে।

আরও পড়া


1
এই উত্তর অনুসারে, unix.stackexchange.com/a/297318/224025 আমরা এবার পরিবর্তন করতে পারি। আমি যদি এটি শূন্য সেকেন্ডে পরিবর্তন করি তবে কী নিরাপদ হবে (বা এটি কোনও ক্ষতি করবে)?
জিপসিকোসমোনট

1
প্রকৃতপক্ষে, এই উত্তরের চূড়ান্ত অনুচ্ছেদ এবং আরও পড়ার জন্য আমি আপনাকে যে ব্যবহারকারী ম্যানুয়ালটি দেখিয়েছি তা ইতিমধ্যে আপনাকে সময়সীমা পরিবর্তন করার বিষয়ে বলছে। 0s এর সময়সীমাটির অর্থ কী এবং এটি কীভাবে নিরাপদ তা কার্যকর করার প্রশ্নটি কীভাবে জিজ্ঞাসা করতে হবে হিসাবে একটি প্রশ্ন হিসাবে জিজ্ঞাসা করা উচিত কারণ এটি "স্টপ জব" কী এবং কেন সময়সীমা পরিবর্তিত হয় এমন প্রশ্নের একটি ফলো-অন প্রশ্ন । আমি সন্দেহ করি যে এটি ভাল হতে পারে।
JdeBP

2

এই বার্তাগুলি সিস্টেমড থেকে এসেছে, এটি একটি প্রাথমিক ব্যবস্থা যা কাজ শুরু করে এবং বন্ধ করে দেয়। কাজগুলি ডিমন হতে পারে তবে ডিস্কগুলি মাউন্ট এবং আনমাউন্টিং, মোছা / টিএমপি মুছে ফেলা বা বুট জুড়ে স্ক্রিনের উজ্জ্বলতা সংরক্ষণ এবং পুনরুদ্ধারের মতো ছোট ছোট কাজও করতে পারে। systemctl list-unitsআপনাকে ধারণা দেয়। সিস্টেমড "ইউনিট" এবং "কাজ" ব্যবহার করে একই জিনিস বোঝায়।

যখন কোনও কাজ বন্ধ করা হচ্ছে, ঠিক তেমনই, systemctl stop ...তখন একটি প্রশ্ন হ'ল ব্যর্থতা ঘোষণা করার আগে এবং SIGKILLসংকেত দিয়ে কাজের প্রক্রিয়াগুলি হত্যার আগে কাজটি শেষ হওয়ার জন্য কতক্ষণ অপেক্ষা করতে হবে । SIGKILLপ্রক্রিয়াটি পরিষ্কারভাবে প্রস্থান করার সুযোগ দেয় না বলে আমরা না চাইলে আমরা সত্যই ব্যবহার করতে চাই না । কিছু প্রক্রিয়াগুলির জন্য ব্যর্থতা ঘোষণার জন্য কয়েক সেকেন্ডের যথেষ্ট সময় হতে পারে, অন্য কোনও প্রক্রিয়া যেমন ডেটাবেস এর মতো কাজটি পরিষ্কারভাবে বন্ধ করার জন্য যথেষ্ট নেটওয়ার্ক এবং ডিস্ক I / O থাকতে পারে, এবং সেই কারণে আমরা সেই ইউনিটগুলিকে পরিষ্কারভাবে বন্ধ করতে কয়েক মিনিট সময় দিতে পারি ।

আপনি শাটডাউন systemctl stop $UNIT_NAMEকরার পরে যা দেখছেন তা সমান যা চালাতে কিছুটা সময় নিচ্ছে। এখানে একটি কাউন্টার রয়েছে যা সেকেন্ডে প্রদত্ত বিস্তৃত সেকেন্ডগুলি দেখায় এবং সিক্কিল জারি হওয়ার আগে সর্বাধিক অপেক্ষার সময় এবং শাটডাউন নির্বিশেষে এগিয়ে চলে।

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


"সিস্টেমড একই জিনিসটির অর্থ বোঝাতে" ইউনিট "এবং" কাজ "ব্যবহার করে।" আমি এটিকে সত্য বলে মনে করি না: মোটামুটিভাবে বলতে গেলে একটি "কাজ" একটি "ইউনিটকে" কিছু করার অনুরোধ। বিস্তারিত জানার জন্য @ জেডিবিপির উত্তর দেখুন।
থমাস

1

কিছু পরিষেবা আটকে আছে এবং সিস্টেমড এটি থেকে বেরিয়ে যাওয়ার জন্য অপেক্ষা করছে। সিস্টেমড সম্ভবত সঠিকভাবে সময় নিবে তা সঠিকভাবে অনুমান করছে না, সময় (সাধারণত 90 সেকেন্ড) হয় ধৈর্য্য শেষ হওয়ার আগে সিস্টেম্ড কতক্ষণ অপেক্ষা করবে। এই পোস্টটি দেখুন:

ব্যবহারকারীর সেশন সি 2 এর জন্য একটি স্টপ জব চলছে


6
আমি কীভাবে বুঝতে পারি, কোন পরিষেবাটি স্তব্ধ?
naitsirch

0

"স্টপ জবস" systemdহ'ল যখন নির্দিষ্ট "কাজ" থামার জন্য অপেক্ষা করা থাকে, উদাহরণস্বরূপ এমন কিছু প্রক্রিয়া যা এটি এগিয়ে যাওয়ার আগে শেষ করার অপেক্ষায় থাকে। যদি আপনি একটি সতর্কতা বার্তা দেখেন যে "একটি স্টপ জব চলছে ..." (ইত্যাদি) এর প্রযুক্তিগতভাবে অর্থ হ'ল কিছু কিছু কাজের সারিতে মুলতুবি রয়েছে।

যাইহোক, আপনার পুরো সিস্টেমের কাজের সারিটি খনন করার আগে, মনে রাখবেন যে কখনও কখনও এই সতর্কতা বার্তাগুলি পরিবেশগত কারণগুলির দ্বারা অপ্রত্যক্ষ ফলাফল হয় (বাস্তবে, বার্তাটি তাদের গিটহাব রেপোতে সম্ভাব্য বাগ হিসাবে উল্লেখ করা হয়)।

উদাহরণস্বরূপ: আমরা "স্টপ জব" সম্পর্কিত বার্তা পাচ্ছিলাম এবং বুঝতে পারছিলাম না কেন .... দেখা যাচ্ছে, ডিস্কটি প্রায় স্থানের বাইরে ছিল এবং এটি ওএসকে অদ্ভুতভাবে আচরণ করতে শুরু করে।

সার্ভারকে একটি বড় ডিস্কে আপগ্রেড করা এবং এটি পুনরুদ্ধার করা ঠিক করেছে;)

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