2009-11-15 12 views
6

मैं क्या चाहता हूँकैसे सुरक्षित रूप से मैक के शटडाउन के लिए मजबूर करने के लिए

क्या मैं दिन में कई बार केवल काम करने के लिए मुझे मजबूर करने के लिए एक छोटे से एप्लिकेशन को विकसित कर रहा हूँ - मैं मेरे शाम में काम करना बंद करने के लिए मजबूर करने की जरूरत है कुछ तो मैं दिन में और अधिक प्रभावी हो सकता है।

ओएस एक्स के भीतर एक निश्चित समय पर मेरी मशीन को बंद करने का विकल्प रद्द करना बहुत आसान है। और आप हमेशा बाद में लॉग इन कर सकते हैं।

मैं चाहता हूं कि मेरा ऐप सभी एप्लिकेशन छोड़ने के लिए चाहे वे सहेजे गए हों या नहीं।

मैं

क्या कोशिश की है मैं loginwindow प्रक्रिया की हत्या के बारे में सोचा है, लेकिन मैं पढ़ा है कि इस डाटा में गड़बड़ी पैदा कर सकते हैं।

मैं शट डाउन कमांड में आया हूं - मैं तुरंत बंद करने के लिए सुडो शटडाउन -एच +0 का उपयोग कर रहा हूं। यह सिर्फ टिकट ही प्रतीत होता है, लेकिन मुझे चिंता है कि अगर डेटा उपयोगिता कुछ प्रकार के स्कैन कर रही है तो डेटा भ्रष्टाचार का कारण बन सकता है।

शट डाउन कमांड सुरक्षित है?

क्या शट डाउन कमांड भ्रष्टाचार का कारण बन सकता है? या यह उपयोग करने के लिए सुरक्षित है? क्या शटडाउन को सुरक्षित रूप से मजबूर करने का कोई बेहतर तरीका है?

+7

आप शादी नहीं किया जाना चाहिए। – Rap

+3

ऐसा मत करो। आपको पछतावा होगा कि एक दिन बिना सहेजे गए काम का गुच्छा खो जाए। –

+0

"और आप हमेशा बाद में लॉग इन कर सकते हैं।" इसके बाद, आपको कुछ घंटों के दौरान लॉग इन को अस्वीकार करने की आवश्यकता होगी। –

उत्तर

2

शटडाउन आदेश प्रक्रियाओं को समाप्त करने के लिए एक संकेत चल रहा है, उन्हें, काम को साफ अगर जरूरत करने के लिए एक मौका देने के लिए भेजता है। इसलिए आम तौर पर, जब कोई एप्लिकेशन इस सिग्नल को प्राप्त करता है (SIGTERM (inate)) इसे लपेटना और बाहर निकलना चाहिए।

हिम तेंदुए में आईआईआरसी (10.6) ऐप्पल ने फास्ट-शट डाउन (या इसी तरह) नामक कुछ जोड़ा जो प्रक्रियाओं को भेज देगा जो SIGKILL सिग्नल के साथ ठीक होने के कारण फ़्लैग किए गए हैं, उन्हें क्लीनअप काम के बिना बिना बंद कर दिया गया है। यह तेजी से बंद करने के लिए माना जाता है। डिफ़ॉल्ट यह है कि अनुप्रयोगों को अभी भी SIGTERM मिलते हैं और SIGKILL के लिए ऑप्ट-इन करना होगा; और वे खुद को "गंदे" के रूप में चिह्नित कर सकते हैं, i। ई। बिना सहेजे गए काम और जबरन मारना नहीं चाहते हैं।

इसलिए जब एक डिस्क उपयोगिता रन को रद्द कर देगा जो कुछ डिस्क उपयोगिता क्या कर रहा है के बीच में नीचे बंद, IMHO यह सामान्य रूप में डाटा में गड़बड़ी पैदा नहीं होता। हालांकि आप वर्तमान में चल रहे ऑपरेशन के आधार पर, आप एक अपूर्ण डिस्क छवि या आधे स्वरूपित विभाजन के साथ समाप्त हो सकते हैं। हो सकता है कि आप इसे का उपयोग कर जब आप अपने कॉन्फ़िगर किया गया काम समय के अंत करीब आ रहा है पता करने से बचना चाहते हैं।

बंद शेड्यूल करने के लिए cron का उपयोग करते हुए एक व्यवहार्य विकल्प अगर आप इसे एक निर्धारित समय हो करना चाहते हैं। आप इसे समय की एक निश्चित राशि के बाद होने की बाद आप लॉग इन चाहते हैं, आप बंद करने के लिए संख्या पैरामीटर का उपयोग निर्दिष्ट अब से कहने के लिए 8 घंटे सकता है।

+0

उत्कृष्ट जवाब, डैनियल, धन्यवाद। मैंने सुना है कि हिम तेंदुए में तेजी से बंद होने पर अधिक जानकारी सुनना दिलचस्प है। –

-1

शायद आपके कंप्यूटर पर क्रॉन स्थापित है? यह अद्भुत है =)

+0

क्रॉन हमेशा मैक ओएस एक्स (लॉन्च के हिस्से के रूप में) के हिस्से के रूप में उपलब्ध है। यह सवाल का जवाब नहीं देता है, हालांकि: क्रॉन शटडाउन शेड्यूल करने के लिए काम करेगा, लेकिन यह कंप्यूटर को बंद नहीं करता है; उसे अभी भी * क्या * शेड्यूल करने की आवश्यकता है। –

1

यदि आप चाहते हैं तो सहेजे गए काम को खोने के लिए shutdown -h आपका एकमात्र उत्तर है।

हालांकि, किसी को जो ओएस एक्स पर एक पूर्ण स्क्रीन अनुप्रयोग डिबग है जानता है कि यह बहुत आसान है (कुछ भी आसान कहते हैं) capture the screen के लिए एक ऐप्लिकेशन के लिए और कंप्यूटर अनिवार्य रूप से बेकार (SSHing बिना प्रस्तुत करना किसी अन्य कंप्यूटर को मारने के लिए की ओर से है प्रक्रिया।) यह एक और विकल्प है।

+0

मैं अनिवार्य रूप से सहेजे गए काम को खोना नहीं चाहता हूं, लेकिन मैं एक अनुस्मारक के रूप में बंद होने से 10 मिनट पहले खुद को चेतावनी दूंगा। मेरे पास एक और सिस्टम था जो एक और सॉफ्टवेयर के साथ था जो अब उपलब्ध नहीं है और मैंने कई महीनों में कभी भी कोई काम नहीं खोला। पूर्ण स्क्रीन पर अतिरिक्त जानकारी के लिए धन्यवाद भी एप्लिकेशन, कि रोचक और उपयोगी है। –

2
tell application "System Events" to shut down लिए उपयोग AppleScript

+0

मैं इसका उपयोग अपने छोटे उपयोगिता ऐप में कर रहा हूं लेकिन दुर्भाग्यवश यह एक मजबूती से काम नहीं करता है। कभी-कभी मैं अपने मैक पर वापस आ जाता हूं और पाते हैं कि यह अभी भी फ़ायरफ़ॉक्स के साथ खुला है और एक संदेश जो मुझे बताता है कि फ़ायरफ़ॉक्स ने शट डाउन को बाधित कर दिया था। – andreb

+0

शायद इसे "ऐप प्रतिक्रियाओं को अनदेखा करना" (या somesuch) में डालने से मदद मिलेगी, लेकिन मैंने अभी तक यह कोशिश नहीं की है। – andreb

+0

'एप्लिकेशन प्रतिक्रियाओं को अनदेखा करना' केवल स्क्रिप्ट को बताता है कि आप जिस एप्लिकेशन से बात कर रहे हैं उसके जवाब के लिए प्रतीक्षा न करें (इस मामले में, सिस्टम इवेंट्स)। यह किसी भी आदेश को असफल होने के लिए मजबूर नहीं करेगा; यह किसी अन्य एप्लिकेशन को बल-मारने के लिए एप्लिकेशन (सिस्टम इवेंट्स) में कुछ भी संवाद नहीं करता है। –

1

शट डाउन (और सहेजे नहीं गए कार्य अमान्य) मेरे लिए एक अच्छा विचार की तरह ध्वनि नहीं करता है के लिए अपने कंप्यूटर जबरदस्ती। जब आपको काम करना बंद कर देना चाहिए, तो अपने आप को याद दिलाने के लिए अलार्म घड़ी सेट करना आसान और सुरक्षित नहीं होगा, और जब यह बजता है तो अपने कंप्यूटर से दूर चलेगा? (यही वह है जो मैं करता हूं।)

संपादित करें: शायद यह थोड़ा कठोर हो सकता है, जो मेरा इरादा नहीं था। (मुझे आपके प्रश्न या इस तरह के किसी भी चीज़ का मज़ा लेने का कोई इरादा नहीं था।) मुझे लगता है कि यह इस समस्या का बेहतर समाधान होगा :)

+0

@ लीफ - कोई चिंता नहीं, यह बिल्कुल कठोर नहीं हुआ। यह एक पूरी तरह से वैध टिप्पणी है। अलार्म घड़ी सेट करने के लिए यह आसान और सुरक्षित दोनों होगा, लेकिन दुर्भाग्यवश मेरे पास शून्य इच्छाशक्ति है और मुझे पता है * मैं कहूंगा "ओह, बस यह एक बात .." और अगली बार मैंने घड़ी को देखा 2 बजे हो। यह सिर्फ मेरे लिए काम नहीं करेगा। मेरी इच्छा है कि यह किया! –

1

नियमित रूप से अपने कंप्यूटर को बंद करने का अनुशंसित तरीका सिस्टम वरीयताओं में है -> ऊर्जा सेवर पैनल। निचले दाएं कोने में "शेड्यूल" बटन पर क्लिक करें। बाकी आत्म व्याख्यात्मक है ...

+0

मेरे प्रश्न से: "ओएस एक्स के भीतर एक निश्चित समय पर मेरी मशीन को बंद करने का विकल्प रद्द करना बहुत आसान है। और आप हमेशा बाद में लॉग इन कर सकते हैं।" –

संबंधित मुद्दे

 संबंधित मुद्दे