কীভাবে সিস্টেমটেক্টল শিডিউল সিস্টেম শাটডাউন করে?


12

আমি যখন টাইপ করি shutdown -h +30, লিনাক্স কোনওভাবেই 30 মিনিটের মধ্যে রানলেভেলের পরিবর্তনের সময়সূচি দেয়। ডেবিয়ানে এটির /sbin/shutdownপ্রতীকী লিঙ্ক /bin/systemctl। আমার পরীক্ষাগুলি ইঙ্গিত দেয় যে ক্রোন বা সিস্টেমড টাইমারগুলিও ব্যবহার shutdownকরে না

সিস্টেম শাটডাউন কীভাবে বাস্তবায়ন করে systemd?

উত্তর:


11

ভাল প্রশ্ন. আমি এখন যা বুঝতে পেরেছি তা চেষ্টা করে দেখেছি - আপনি অবশ্যই একটি শাটডাউন শিডিয়ুলিং এবং সিস্টেমেড টাইমারদের জিজ্ঞাসা করেছেন!

এটি প্রমাণ করেছে যে শাটডাউনটি সিস্টেমড টাইমারগুলিতে ছিল না, যেমনটি আপনি উল্লেখ করেছেন। সুতরাং সিস্টেমেটেক্টল উত্সের একটি দ্রুত উপলব্ধি আমাদের এই কলটি দেয়, এর অংশ হিসাবে halt_main():

r = sd_bus_call_method(
                       b,
                       "org.freedesktop.login1",
                       "/org/freedesktop/login1",
                       "org.freedesktop.login1.Manager",
                       "ScheduleShutdown",
                       &error,
                       NULL,
                       "st",
                       arg_action == ACTION_HALT     ? "halt" :
                       arg_action == ACTION_POWEROFF ? "poweroff" :
                       arg_action == ACTION_KEXEC    ? "kexec" :
                                                       "reboot",
                       arg_when);

( systemctl.c লাইন 7387 )

সুতরাং এটি প্রদর্শিত হবে যে শাটডাউনগুলি দ্বারা পরিচালিত হয় logind। আপনি যদি চান- আপনি বিশদটি অনুসরণ করতে চালিয়ে যেতে পারেন login-dbus.c। সময়সূচী, বাতিলকরণ, শাটডাউন পরিচালনা করার জন্য রয়েছে কয়েকটি পদ্ধতি। তবে আরও গভীর বোঝার জন্য আপনার চেয়ে লগইনড / সিস্টেমড সম্পর্কে আরও জানা দরকার।

দীর্ঘ গল্প সংক্ষেপে, শাটডাউন তথ্য একটি শিডিউল ফাইলটিতে (কমপক্ষে) সঞ্চিত থাকে /run/systemd/shutdown/scheduled, উদাহরণ হিসাবে আমার বিষয়বস্তুটি ছিল:

USEC=1435715559055789
WARN_WALL=1
MODE=poweroff

সময় নির্দেশ করে (মাইক্রোসেকেন্ডে, সম্ভবত); কিনা wallএবং কোন মোডের মাধ্যমে সতর্কতা অবলম্বন করা উচিত (সিএফ পুনঃসূচনা, কেেক্সেক ইত্যাদি)।

আশা করি এটি আপনাকে অন্তত সঠিক দিকে নির্দেশ করবে!

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