मैक नींद को कमांड लाइन से कैसे रोकें?


12

मेरे पास दूरस्थ कंप्यूटर पर एक लंबी चलने वाली स्क्रिप्ट है।

मैं अपना ssh सत्र समाप्त नहीं करना चाहता, और इसे शेल स्क्रिप्ट में दर्ज करने की आवश्यकता है।

मेरे मैक को कमांड लाइन से नींद में गिरने से कैसे रोका जा सकता है?


3
कौन सा ओएस एक्स संस्करण?
nohillside

जवाबों:


19

माउंटेन लायन में आप caffeinateकमांड का उपयोग कर सकते हैं ।

caffeinate -u -t 1000

1000 सेकंड के लिए निष्क्रिय नींद को रोक देगा।


1
मुझे अभी तक कोई सफलता नहीं मिली है और किसी भी 'कैफीनयुक्त' सीएमडीलाइन संयोजन के साथ (ऊपर एक सहित) और न ही कैफीन.एप्प मेवेरिक्स में ढक्कन बंद होने पर नींद को रोकता है। InsomniaX.app केवल एक ऐसी चीज है जिसने अब तक ढक्कन वाली नींद को रोका है, लेकिन अभी तक एक कार्यशील cmdline संस्करण नहीं मिला है (अभी तक goo.gl/CU06jb कार्य नहीं किया है - यह अप्रचलित हो सकता है)। अभी भी, मैं कुछ ऐसा चाहता हूं, जो लिड के पास सीमित, प्रोग्राम करने योग्य समय के लिए नींद से इनकार करते हुए भी डिस्प्ले-पासवर्ड की आवश्यकता को सक्षम करता है ... और InsomniaX.app ऐसा करने के लिए प्रकट नहीं होता है।
जॉनी उटाह

1
इसी तरह के मुद्दे। मैं Yosemite पर हूं, और भले ही मैं टर्मिनल में कैफेट चलाता हूं, थोड़ी देर के बाद स्क्रीन अंधेरा हो जाती है, और मुझे वापस लॉग इन करना पड़ता है। इससे मुझे पता चलता है कि कैफेट मैक को जागृत नहीं रख रहा है, जो कि मेरा लक्ष्य है वाईफ़ाई कनेक्शन जारी रह सकता है / जो भी मैं चल रहा हूं वह आगे बढ़ सकता है।
१३

12

इस समस्या का समाधान है नहीं ग्राहक (अपने मैक) को सक्रिय रखना। इस तरह के दृष्टिकोण का उपयोग करना भरोसेमंद है। नेटवर्क कनेक्शन खो जाने पर क्या होता है? यहां तक ​​कि अगर आपका मैक जाग रहा है, तो स्क्रिप्ट रुक जाएगी।

उपयोग nohup

यदि आपकी लंबे समय से चली आ रही स्क्रिप्ट को कहा जाता है eternity.sh, तो निम्न प्रयास करें:

nohup /path/to/eternity.sh > /path/to/output.out &

अब आप कनेक्शन बंद भी कर सकते हैं और आपकी स्क्रिप्ट चालू रहेगी&पृष्ठभूमि प्रक्रिया आप कनेक्शन को खुला रखने और आदेश में प्रवेश कर सकते हैं। अपनी स्क्रिप्ट से कोई भी आउटपुट देखें:

tail -f /path/to/output.out

उदाहरणों में पथ वैकल्पिक हैं यदि स्क्रिप्ट आपके पथ पर है और आप चाहते हैं कि स्क्रिप्ट आउटपुट output.outवर्तमान निर्देशिका में लिखा जाए ।

मैं एक समय में दिनों के लिए चलने वाली स्क्रिप्ट का प्रबंधन करता हूं। इन जैसे लिपियों को टर्मिनल से अलग किया जाना चाहिए। शुक्र है, nohupइसे प्राप्त करने के लिए एक आसानी से याद रखने वाला कमांड मंगलाचरण प्रदान करता है - सोचें कि कोई हैंगअप नहीं है


5
यह भी देखें man screen

@ मांकॉफ़ - मैं पहले से ही स्क्रीन का उपयोग कर रहा हूँ। यह कटा हुआ नस्ल के डैकवरी के बाद से सबसे अच्छा आदेश है। ;) प्रश्न का मुख्य बिंदु "ssh to @ कहीं" की जरूरत को कम करता है जब मेरा मैक सो जाता है - मैं बस अपने ssh सत्र को समाप्त नहीं करना चाहता हूं - दूरस्थ तरफ मेरा आदेश पहले से ही स्क्रीन के साथ "संरक्षित" है । ;)
कोब

@ephsmith - सवाल था: ssh सत्र को कैसे समाप्त किया जाए ... toc nohup उन स्थितियों के लिए अच्छा है, जब आपका रिमोट कमांड इंटरएक्टिव नहीं है। इंटरेक्टिव कमांड के लिए स्क्रीन बहुत बेहतर समाधान है। फिर भी जवाब के लिए thanx।
कोबे

1
@kobame, शायद सवाल का बिंदु और यह अतिरिक्त जानकारी आपके मूल प्रश्न में शामिल होनी चाहिए। आपके प्रश्न में पहली पंक्ति एक लंबी चलने वाली स्क्रिप्ट का उल्लेख करती है। मैंने मान लिया कि यह संवादात्मक नहीं था जिसके कारण नोह का संदर्भ दिया गया।
इफिथिथ

@kobame, क्या इनमें से किसी भी उत्तर ने आपकी समस्या हल कर दी है?
इफिसिथ

8

एक अन्य विकल्प pmset हैpmset noidle जब तक pmsetचल रहा है नींद को रोकने के लिए कमांड का उपयोग करें । दुर्भाग्य से, इसमें pmsetचलने के साथ एक अलग टर्मिनल विंडो की आवश्यकता होती है। हालाँकि, दूसरा विकल्प, caffeinateकेवल आपको एक निश्चित समय निर्धारित करने देता है । इसलिए यह चुनने की बात है कि क्या आप दूसरा एसएसएच सत्र खोलना चाहते हैं, या एक समय संयम के साथ सौदा करना चाहते हैं।

संपादित करें: बाइनरीबॉब की टिप्पणी के अनुसार , आप वास्तव में इसे इस तरह से पृष्ठभूमि में चला सकते हैं: pmset noidle &वापस pmsetटाइप करने के लिए fg


आप pmsetपृष्ठभूमि का उपयोग करके भी चला सकते हैं pmset noidle &और इसलिए वर्तमान कमांड प्रॉम्प्ट का उपयोग जारी रखें। वापस fgजाने के लिए टाइप करें pmset, जिस बिंदु पर आप इसे Ctrl + C कर सकते हैं
बाइनरीबॉब

@binarybob ओह! मुझे नहीं पता था। पारितोषिक के लिए धन्यवाद!
डेविसगेक

@davisgeek - बहुत अच्छा! टिप के लिए Thanx।
kobame

1
यह एक IPython नोटबुक में भी काम करता है: !pmset noidle- बहुत अच्छा होता है जब आपके पास IPython नोटबुक परोसने वाला डेस्कटॉप और दूर से कनेक्ट होने वाला लैपटॉप होता है।
जेसन एस

1
यह मेरे लिए काम नहीं करता है। यह सफलतापूर्वक चलता है, "निष्क्रिय नींद को रोकने (^ C से बाहर निकलने के लिए) ..." संदेश दिखाई देता है, लेकिन यह अभी भी सो जाता है।
इयूलियन ओनोफ्रेई

6
caffeinate -i -s /bin/ssh ...

स्पष्टीकरण:

-i - बेकार नींद को रोकें।

-s- सिस्टम नींद को रोकें (पूरी तरह से, भले ही आप ढक्कन को बंद कर दें)। नोट: यह केवल एसी पावर पर काम करता है।

/bin/ssh- जिस कमांड को आप निष्पादित करना चाहते हैं, बस उसे लिखते रहें। sshइसके बजाय सीधे उपयोग /bin/sshकरना भी काम करना चाहिए।

परिणाम: आपका सिस्टम तब तक नहीं सोएगा जब तक sshकमांड चल रही है।



-3

StarMessage स्क्रीनसेवर ( http://starmessagesoftware.com/moonscreensaver/ ) में 2 घंटे, 8 घंटे या स्थायी रूप से मैक को जागृत रखने का विकल्प है। मैक नींद को अक्षम करने का यह तरीका कैफीन की तुलना में बहुत आसान है।


यह कमांड लाइन के लिए कैसे चलता है?
user151019

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