मैं कमांड लाइन से हाइबरनेट / सस्पेंड कैसे कर सकता हूं और एक विशिष्ट समय पर ऐसा कर सकता हूं


36

मैं यह पता लगाने में कामयाब रहा कि कमांड लाइन से सिस्टम को सस्पेंड / हाइबरनेट कैसे किया जा सकता है पढ़कर मैं कमांड लाइन से कैसे सस्पेंड / हाइबरनेट कर सकता हूं?

हालाँकि, मैं जानना चाहूंगा कि कमांड लाइन का उपयोग किसी निश्चित समय पर / हाइबरनेट को निलंबित करने के लिए कैसे करें (उदाहरण के लिए, 11PM) या सापेक्ष (उदाहरण, 30 मिनट में)।

मुझे पहले से ही पता है कि शटडाउन के साथ यह कैसे करना है, लेकिन मुझे यकीन है कि अगर कमांड समान है।

जवाबों:


43

आप atकमांड का उपयोग किसी भी कार्रवाई को शेड्यूल करने के लिए कर सकते हैं , जिसमें उस प्रश्न में विस्तृत कमांड चलाना भी शामिल है ।

उदाहरण के लिए, यदि आप 30 मिनट में हाइबरनेट करना चाहते हैं:

echo 'pmi action hibernate' | at now + 30 min

या यदि आप 11:00 बजे निलंबित करना चाहते हैं:

echo 'pmi action suspend' | at 11pm

आप के रूप में एक कमांड को चलाने के लिए की जरूरत है root, चलाने के atसाथ sudoसाथ आदेश खुद के बजाय sudo(के बाद से sudoही सहभागी, जब तक आप अपने पासवर्ड के लिए पूछने के लिए नहीं यह कॉन्फ़िगर कर दिया है चलाने जाना चाहिए)। उदाहरण के लिए, उपर्युक्त आदेशों के समकक्षों का उपयोग कर रहे हैं pm-hibernateऔर pm-suspendहैं:

echo pm-hibernate | sudo at now + 30 min

echo pm-suspend | sudo at 11pm


पकड़ने के लिए धन्यवाद कि दोनों स्थितियों के लिए कहा गया था ... मैंने इसे भी प्रतिबिंबित करने के लिए शीर्षक संपादित किया। मैंने अब दोनों स्थितियों को शामिल करने के लिए अपने उत्तर को संशोधित कर दिया।
cprofitt

किसी भी विचार मैं नौकरियों को कैसे साफ कर सकता हूं?
खोही

2
@Rexford atrmकमांड द्वारा बनाई गई नौकरियों को हटा देता है at
एलियाह कगन

9

रिश्तेदार विनिर्देशन के लिए (उदाहरण के लिए "30 मिनट के बाद") आप sleepकमांड का उपयोग केवल निलंबित / हाइबरनेटिंग कमांड प्रतीक्षा करने के लिए कर सकते हैं।


उदाहरण:

30 मिनट तक प्रतीक्षा करें, फिर निलंबित करें:

sudo sleep 30m; sudo pm-suspend

1 घंटे प्रतीक्षा करें, फिर हाइबरनेट करें:

sudo sleep 1h; sudo pm-hibernate

मुझे भी यह तरीका पसंद है।
खोही

2
1h के बाद pm-hibernateरूट के लिए फिर से पासवर्ड चाहिए और सस्पेंड नहीं होता है।
विटाली ज़डनेविच

पासवर्ड के लिए पूछे जाने से बचने के लिए लॉग इन करने के बारे में कैसे?
बनान 3'14

4

विशिष्ट समय के लिए दोहराया - जैसे कंप्यूटर को बंद करना प्रत्येक दिन एक विशिष्ट समय है। क्रोन का उपयोग करें।

crontab -e

निम्नलिखित जोड़ें:

15 14 1 * * pmi action suspend

यदि आप इसे कस्टमाइज़ करना चाहते हैं।

* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

एक समय के लिए हमें कमांड में काम दें

उदाहरण के लिए, यदि आप 30 मिनट में हाइबरनेट करना चाहते हैं:

echo 'pmi action hibernate' | at now + 30 min

या यदि आप 11:00 बजे निलंबित करना चाहते हैं:

echo 'pmi action suspend' | at 11pm

2
का उपयोग करना cronएक अच्छा समाधान है जब लक्ष्य को दिन के एक विशिष्ट समय पर निलंबित या हाइबरनेट करना है, या सप्ताह के विशिष्ट दिन, या महीने, या वर्ष पर एक विशिष्ट समय है। लेकिन एकल निलंबन या हाइबरनेशन को शेड्यूल करने के लिए, जो ऐसा लगता है कि एडरिको के बारे में क्या पूछ रहा था (और जो कुछ ऐसा करना चाहता है जो बहुत अधिक समझ में आता है), atकमांड का उपयोग किया जाना चाहिए। (आप किसी एक घटना cronको प्रासंगिक क्रॉन्स्ट को संपादित करके बना सकते हैं, उदाहरण के लिए sedया उपयोग करके awk, लेकिन यह अत्यंत जटिल और अनावश्यक है; उपयोग at।)
एलियाह कगन

प्रश्न द्वारा अनुरोध की गई सापेक्ष शर्तों के लिए फिट नहीं है, यह केवल विशिष्ट अनुसूचियों के लिए उपयोगी है।
ब्रूनो परेरा

हां, यह 'विशिष्ट समय' के लिए एक उदाहरण था जिसे अनुरोध किया गया था। "हालांकि, मैं जानना चाहूंगा कि किसी निश्चित समय पर, निरपेक्ष में (उदाहरण के लिए,
11PM

1
आपने अपने उत्तर को संपादित किया है कि कैसे उपयोग करें at, के बारे में जानकारी जोड़ने के लिए , लेकिन आपके द्वारा जोड़ी गई जानकारी दुर्भाग्य से सही नहीं है। <ऑपरेटर से पाठ पुनर्निर्देश फ़ाइल या डिवाइस आदेश अपनी बाईं ओर निर्दिष्ट के लिए मानक इनपुट करने का अधिकार करने के लिए निर्दिष्ट। यदि आप ( मेरे उत्तर में ) के <बजाय उपयोग करना चाहते हैं, तो आपको इसकी सामग्री के साथ (या ) एक फ़ाइल बनानी होगी। ऐसी जटिलता यहां बेहतर बनाती है। |pmi action suspendpmi action hibernate|
एलिया कगन

एक सामान्य दिशानिर्देश के रूप में, जब आपके पास (जैसे ) catके बाईं ओर एक कमांड होता है , तो आप उसे एक अभिव्यक्ति ( ) के साथ बदल सकते हैं । लेकिन जब आपके पास बाईं ओर एक कमांड होता है , तो इसे अभिव्यक्ति के साथ तुच्छ रूप से प्रतिस्थापित नहीं किया जा सकता है । |cat foo | bar<bar < fooecho|<
एलिया कगन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.