কম্পিউটার টিউটোরিয়াল

লিনাক্সে 'A Stop Job is Running' শাটডাউন পজ থামানোর সমাধান

আপনি আধুনিক লিনাক্স ডিস্ট্রো ব্যবহার করলে, শাটডাউন করার সময় নিশ্চিতভাবে “A stop job is running” মেসেজ দেখবেন, এবং এটি শাটডাউন প্রক্রিয়াকে ৯০ সেকেন্ড পর্যন্ত পজ করে রাখবে। জানুন কেন এই মেসেজ আসে, এবং কীভাবে আপনি এটি মিটিগেট করতে পারেন।

এটি একটি সেফটি ফিচার, বাগ নয়

সবচেয়ে প্রথমে আপনাকে জানতে হবে যে “A stop job is running” মেসেজ সিস্টেমে বিল্ট-ইন একটি সেফটি ফিচার, বাগ নয়।

উবুন্টু, ফেডোরা, এবং আর্চের মতো আধুনিক লিনাক্স ডিস্ট্রিবিউশন বুট এবং শাটডাউন প্রক্রিয়া ম্যানেজ করার জন্য Systemd ব্যবহার করে। আপনি যখন Shut Down-এ ক্লিক করেন, Systemd শুধু পাওয়ার প্লাগ টেনে তুলে দেয় না। এটি প্রতিটি চলমান সার্ভিস এবং অ্যাপ্লিকেশনের কাছে একটি विनয়ী সিগন্যাল পাঠায় যাকে SIGTERM বলা হয়। অধিকাংশ অ্যাপ্লিকেশন, এই সিগন্যাল পাওয়ার পর, তাদের ডেটা সেভ করে, ফাইল বন্ধ করে, এবং গ্রেসফুলি শাট ডাউন হয়।

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

অনেক লিনাক্স ইউজার “A Stop Job is Running” মেসেজ দেখে ফিক্স খুঁজেন, অনুমান করে কিছু ভাঙা পড়েছে। সত্যি হলো Systemd ডেভেলপাররা এই আচরণ উদ্দেশ্যuricভাবে বিল্ড করেছেন। মূলত, এটি অপেক্ষার সময়, সাধারণত ৯০ সেকেন্ড, যা Systemd সার্ভিসগুলোর পেন্ডিং টাস্ক সম্পন্ন করার জন্য দেয়। যদি কোনো সার্ভিস কনফিগার করা টাইমআউটের মধ্যে শেষ না করে, Systemd SIGKILL ব্যবহার করে জোরপূর্বক এটি টার্মিনেট করে এবং শাটডাউন প্রক্রিয়া চালু রাখে।

লিনাক্সে  A Stop Job is Running  শাটডাউন পজ থামানোর সমাধান

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

ডিফল্ট টাইমআউট কমাতে

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

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

শুরু করতে, আপনার টার্মিনাল লঞ্চ করুন এবং আপনার পছন্দের টেক্সট এডিটর ব্যবহার করে সিস্টেম কনফিগারেশন ফাইল এডিট করুন:

sudo nano /etc/systemd/system.conf
লিনাক্সে  A Stop Job is Running  শাটডাউন পজ থামানোর সমাধান

এরপর, টাইমআউট ভেরিয়েবল খুঁজুন। আপনি প্রচুর টেক্সট দেখবেন, যা আপনার সিস্টেমের গ্লোবাল সেটিংস প্রতীক করে। #DefaultTimeoutStopSec=90s এর মতো একটি লাইন খুঁজুন। লাইনের শুরুতে হ্যাশ সিম্বল থাকা মানে এটি কমেন্টেড আউট বা ডিজেবল। সিস্টেম বর্তমানে এর ইন্টারনাল ডিফল্ট ব্যবহার করছে, যা ৯০ সেকেন্ড।

মান পরিবর্তন করতে, প্রথমে হ্যাশ সিম্বল সরিয়ে লাইনটি এক্টিভেট করুন, তারপর আপনার পছন্দ অনুযায়ী ৯০ সেকেন্ডকে ছোট একটি সময়সীমায় পরিবর্তন করুন।

সতর্কতা: এই মান ০ সেট করবেন না। ০ সেট করলে ইনফিনিট টাইমআউট তৈরি হবে, অর্থাৎ সিস্টেম প্রসেস বন্ধ হওয়ার জন্য সদা অপেক্ষা করবে। সেটা আমরা যা চাই তার ঠিক বিপরীত। একটি মিড-রেঞ্জ মান (২০–৩০ সেকেন্ড) অনেক ইউজারের জন্য একটি প্র্যাকটিক্যাল কমপ্রোমাইজ।

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

নোট: কিছু কেসে, #DefaultDeviceTimeoutSec=90s কেও এনেবল করতে হতে পারে কাজ করার জন্য।

টাইমআউট কখন একটি সমস্যা নির্দেশ করতে পারে

অধিকাংশ কেসে, একটি স্টপ জব টাইমআউট নরমাল আচরণ। যাইহোক, এটি কখনো কখনো একটি অন্তর্নিহিত সমস্যা নির্দেশ করতে পারে, বিশেষ করে যদি একই সার্ভিস বারবার শাটডাউন ডিলে করে। একটি নেটওয়ার্ক মাউন্ট অনুপলব্ধ হয়ে গেছে, একটি ডেমন মিসকনফিগারড হতে পারে, বা একটি সার্ভিস শাটডাউন সিগন্যালের प्रति সঠিকভাবে রেসপন্স দিচ্ছে না।

আপনি যদি লক্ষ্য করেন শাটডাউন মিনিটের পর মিনিট নেয় সেকেন্ডের বদলে, বা একই সার্ভিস প্রতিবার টাইমআউট হয়, তবে এটি ইনভেস্টিগেট করার যোগ্য। কাঙ্ক্ষণিক ডিলে সাধারণত হানিকারক নয়, কিন্তু সुसঙ্গত ডিলে ইঙ্গিত দেয় যে কিছু বিষয় আত্মীয় মনোযোগ চায়।

ডিলে করাঞ্চল সার্ভিস চিনতে, স্লো শাটডাউন থেকে রিবুট করার পর লগ চেক করুন:

journalctl -b -1 -e
লিনাক্সে  A Stop Job is Running  শাটডাউন পজ থামানোর সমাধান

এই কমান্ড আগের বুট থেকে লগ দেখায় এবং এন্ডে যাওয়ায়। আপনি স্ক্রোল আপ করে ওয়ার্নিং, টাইমআউট মেসেজ, বা সেসব সার্ভিস খুঁজতে পারেন যেগুলো সিস্টেম জোরপূর্বক বন্ধ করেছে।

অতিরিক্তভাবে, আপনি ওয়ার্নিং লেভেল মেসেজ দেখতে এই কমান্ডও চালাতে পারেন:

journalctl -b -1 -p warning
লিনাক্সে  A Stop Job is Running  শাটডাউন পজ থামানোর সমাধান

একটি আরো উপযোগী চেক হলো এই Systemd analyze কমান্ড চালানো:

systemd-analyze blame

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

  • নেটওয়ার্ক সার্ভিস
  • রিমোট ফাইলসিস্টেম যেমন NFS বা SMB
  • ডাটাবেস সার্ভার
  • কন্টেইনার এবং ভার্চুয়াল মেশিন ম্যানেজার
  • এক্সটার্নাল ড্রাইভ, এবং অটোমাউন্ট ইউনিট

নেটওয়ার্ক-ভিত্তিক মাউন্ট বিশেষভাবে ডিলে করার প্রবণ যদি কানেকশন অনস্টেবল বা আর উপলব্ধ না থাকে। এছাড়া, শাটডাউন টাইমআউট কমালে শাটডাউন দ্রুত লাগতে পারে, কিন্তু এটি ভিত্তিগত সমস্যা সমাধান করে না। যদি কোনো সার্ভিস সुसঙ্গতভাবে শাটডাউন ডিলে করে, মূল কারণ সমাধান করলে দীর্ঘমেয়াদে আরও ভালো ফলাফল দেয়।

চূড়ান্ত মতামত

লিনাক্স আপনাকে আপনার সিস্টেমের ওপর উচ্চ মাত্রার কন্ট্রোল দেয়, যার মধ্যে জিদ्दी সার্ভিসের শাটডাউন জন্য কতক্ষণ অপেক্ষা করবে সেটিও অন্তর্ভুক্ত। আপনি ব্যাকগ্রাউন্ড অ্যাপ্লিকেশন ম্যানেজ করতে পারেন এবং অপ্রয়োজনীয় সার্ভিস ডিজেবল করতে পারেন শাটডাউন এবং বুট টাইম উন্নত করার জন্য।

  1. Windows 10-এ টাস্কবারে ফোল্ডার বা ড্রাইভ পিন করার পদ্ধতি

  2. উইন্ডোজ ১১/১০-এ স্ক্রোলবার প্রস্থ পরিবর্তন করার উপায়

  3. উইন্ডোজ ১০-এ ক্যালকুলেটারে গ্রাফিং মোড বন্ধ করা

  4. ম্যাক ডকে গায়েব ডাউনলোডস ফোল্ডার ফেরত আনুন—স্টেপ-বাই-স্টেপ গাইড