मैं चाहता हूं कि यह ओएस आधारित हो, इसलिए मुझे इंटरनेट कनेक्शन या ब्राउज़र ओपन आदि की आवश्यकता नहीं है। बस पृष्ठभूमि में ऐसा कुछ हो सकता है
इसे करने का सबसे आसान तरीका एक एप्लिकेशन के साथ होगा, लेकिन यहां इसे केवल अंतर्निहित ओएस कमांड के साथ कैसे करना है। मैं जानता हूं कि आप इसे इवेंट संचालित करना चाहते हैं, लेकिन मुझे यकीन नहीं है कि इसे कैसे पूरा किया जाए, इसलिए यहां बैटरी स्तर की जांच करने का एक तरीका है, फिर कुछ और करना अगर यह एक सीमा से ऊपर / नीचे है।
आप एक launchd
प्रक्रिया पर विचार कर सकते हैं , यह मूल रूप से एक निर्धारित कार्य है जो हर x
मिनट चलता है । वे अक्सर उन्नत उपयोगकर्ताओं द्वारा उपयोग किए जाते हैं, लेकिन सेट करना बहुत मुश्किल नहीं है। आप किसी .plist फ़ाइल के साथ लॉन्च शेड्यूल किए गए कार्य को कॉन्फ़िगर करते हैं, जिसे आप इस निर्देशिका में रखते हैं: Macintosh HD\Library\LaunchDaemons
और यह है कि आप .plist फ़ाइल को कैसे बनाते हैं;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Debug</key>
<true/>
<key>ExitTimeOut</key>
<integer>120</integer>
<key>Label</key>
<string>com.me.BatteryInfo</string>
<key>ProgramArguments</key>
<array>
<string>/Users/yourusername/batt.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartInterval</key>
<integer>1800</integer>
</dict>
</plist>
यदि आप ऊपर बताए com.me.BatteryInfo
गए LaunchDaemons
फ़ोल्डर में उस फ़ाइल को सहेजना चाहते हैं, तो यह एक निर्धारित कार्य बनाएगा जो हर 30 मिनट में चलता है। संख्या, 1800
सीधे ऊपर, </dict>
सेकंड में समय है कि आप कितनी बार कार्य चलाना चाहते हैं। जहां यह कहता <string>/Users/yourusername/batt.sh</string>
है कि आप यह निर्दिष्ट करते हैं कि कौन सी स्क्रिप्ट अनुसूची पर चलती है। आपको छोड़ना <string>
और </sting>
बरकरार रखना होगा।
रेखा <string>com.me.BatteryInfo</string>
निर्धारित कार्य का अद्वितीय नाम है। यदि आप एक से अधिक बनाने जा रहे हैं, तो सुनिश्चित करें कि प्रत्येक .plist का यहाँ एक अनूठा नाम है।
अगली चीज़ जो आपको करने की ज़रूरत है वह .plist के स्वामित्व को बदलना है root
। यह एक सुरक्षा सुविधा के रूप में आवश्यक है (सॉफ़्टवेयर / उपयोगकर्ताओं को अनुसूचित दुर्भावनापूर्ण कार्य बनाने के लिए रोकना, मुझे लगता है)। फ़ाइल के स्वामित्व को बदलने के लिए, sudo chown root \Library\LaunchDaemons\yourtask.plist
(अपने द्वारा बनाए गए .plist के वास्तविक फ़ाइल नाम के साथ yourtask.plist को बदलें)। यह कार्य आपको पासवर्ड के लिए संकेत देगा।
अब आपको स्क्रिप्ट बनाने की ज़रूरत है जो समय-समय पर चलेगी। कंप्यूटर को क्या करना है, यह बताने के लिए आपको .sh फ़ाइल (बैश स्क्रिप्ट) बनाने की आवश्यकता है। .Sh फ़ाइल बनाने के लिए, प्रोग्रामर टेक्स्ट एडिटर, जैसे कि सबलाइम टेक्स्ट या कोमोडो एडिट खोलें । पाठ संपादित का उपयोग न करें, क्योंकि यह अक्सर आपकी फ़ाइलों में पाठ जोड़ता है जो आपकी स्क्रिप्ट में हस्तक्षेप करेगा। टेक्स्ट एडिट को वास्तव में कोड के लिए उपयोग नहीं किया जाना चाहिए।
निम्नलिखित कोड के साथ एक स्क्रिप्ट (.sh फ़ाइल) बनाएं;
#!/bin/sh
percent=$(ioreg -l | awk '$3~/Capacity/{c[$3]=$5}END{OFMT="%.3f";max=c["\"MaxCapacity\""];print(max>0?100*c["\"CurrentCapacity\""]/max:"?")}')
if [ $percent > 95 ]
then
echo 'charged.'
fi
exit 0
echo 'charged.'
जब आप बैटरी चार्ज करना चाहते हैं, तो टर्मिनल कमांड के साथ बदलें । open /Applications/Notes.app
नोट्स एप्लिकेशन को खोलेगा; आप एक अलग एप्लिकेशन खोलने के लिए डायरेक्टरी बदल सकते हैं।
$percent > 95
यह अगली पंक्ति को केवल तब चलाता है जब बैटरी 95
चार्ज से अधिक हो । आप इसे जो चाहें बदल सकते हैं। यहां बैटरी स्तर अक्सर मेनू पट्टी में शीर्ष पर प्रदर्शित होने के लिए थोड़ा अलग होगा। अगर आप 'बैटरी पूरी तरह चार्ज होने पर' चलाना चाहते हैं तो मैं इसे '95' छोड़ने की सलाह देता हूं । अगर आप चाहते हैं कि जब आपकी बैटरी उदाहरण के लिए 20% से नीचे जाए तो उसे चलाने के लिए कार्य को बदल दें$percent < 20
नोट: क्योंकि यह एक शेड्यूल किया गया कार्य है, इसलिए आपकी स्क्रिप्ट हर x
मिनट पर चलेगी । इसका मतलब है कि यदि आप open \Applications\Notes.app
अपनी स्क्रिप्ट के अंदर रखते हैं, तो नोट्स एप्लिकेशन हर x
मिनट (यदि आपकी बैटरी चार्ज हो जाती है) शुरू हो जाएगी
अगर कोई लॉग इन नहीं है तो भी यह कार्य चलेगा।
मुझे पता है कि आपने यह सवाल कुछ समय पहले पूछा था, लेकिन उम्मीद है कि इससे किसी को मदद मिलेगी।