कैसे सिस्टमक्टल शेड्यूल सिस्टम बंद करता है?


12

जब मैं टाइप करता हूं shutdown -h +30, तो लिनक्स किसी तरह 30 मिनट के भीतर रनलेवल के बदलाव को शेड्यूल करता है। डेबियन पर, /sbin/shutdownप्रतीकात्मक कड़ी है /bin/systemctl। मेरे जांच दर्शाती है कि shutdownहै नहीं न का उपयोग क्रॉन है और न ही systemd टाइमर

सिस्टम शटडाउन किस प्रकार लागू किया जाता है systemd?

जवाबों:


11

अच्छा प्रश्न। मैंने कोशिश की कि मुझे अब एहसास हुआ कि आपने कोशिश की होगी- शटडाउन शेड्यूल करना और सिस्टम टाइमर को क्वेरी करना!

इससे पता चला है कि शटडाउन सिस्टम टाइमर्स में नहीं था, जैसा कि आपने नोट किया। तो फिर systemctl स्रोत का एक त्वरित उपयोग हमें इस कॉल को देता है 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

संकेत समय (microseconds में, संभवतः); के माध्यम से चेतावनी देने के लिए कि क्या है wall, और जो मोड (सीएफ पुनः आरंभ, kexec आदि)।

आशा है कि यह आपको कम से कम सही दिशा में इंगित करता है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.