2010-08-18 23 views
5

मेरे पास लैपटॉप है, ज्यादातर समय इंटरनेट से जुड़ा हुआ है, इंटरनेट की गति काफी धीमी है। जब मैं कुछ बड़ी फाइलें डाउनलोड करता हूं, तो मैं इंटरनेट की धीमी गति के कारण वेब साइटों को सर्फ करने में सक्षम नहीं हूं। मेरी योजना एक बैश स्क्रिप्ट लिखना और इसे क्रॉन जॉब्स में चलाने के लिए है, जब यह पाता है कि सिस्टम निष्क्रिय है तो यह एक प्रक्रिया शुरू करता है (प्रक्रिया जो बड़ी फ़ाइलों को प्राथमिक रूप से wget डाउनलोड करेगी) और जब मैं लैपटॉप का उपयोग करता हूं तो प्रक्रिया है मारे गए। एक स्क्रीनसेवर के समान (मुझे Scheduling in Linux: run a task when computer is idle (= no user input) पर कुछ तरीके मिले हैं लेकिन मैं अपनी मशीन पर स्क्रीनसेवर का उपयोग नहीं करता हूं और न ही मैं xscreensaver जैसे gnome एप्लिकेशन पर निर्भर होना चाहता हूं)। मैं उबंटू लिनक्स का उपयोग करता हूं, क्या लिनक्स माहिन के उचित निष्क्रिय समय को खोजने का कोई तरीका है।यह पता लगाने के लिए कि एक चल रही लिनक्स मशीन निष्क्रिय है या नहीं

निष्क्रिय = कोई कीबोर्ड, स्पर्श पैड या माउस क्लिक।

क्या इस तरह से नेटवर्क गतिविधि खोजने का कोई तरीका है, जैसे कि उनके इंटरनेट ट्रैफ़िक नहीं है, तो मेरी क्रिप्ट एक और wget स्क्रिप्ट निष्पादित करना शुरू कर देती है और यदि मेरा ब्राउज़र वेब पृष्ठों के लिए अनुरोध करता है तो यह स्क्रिप्ट को निष्पादित करना बंद कर देगा।

कृपया मुझे एक उचित तरीका बताएं .. क्या मुझे निष्क्रिय समय का उपयोग करके इसे लागू करना चाहिए, अगर मैं नेटवर्क ट्रैफिक को ध्यान में रखता हूं तो यह अधिक प्रभावी होगा।

+0

क्या आपने इसके बजाय यातायात को आकार देने पर विचार किया है? –

+0

@chen स्थानीय प्रणाली पर कैसे करें? मेरे पास कोई सुराग नहीं है!! –

+1

मुझे लगता है कि आप इसके लिए शोरवाल का उपयोग कर सकते हैं जैसा कि http://www.shorewall.net/simple_traffic_shaping.html –

उत्तर

0

मैं एक बहुत सरल विधि की सलाह देते हैं: बस wget बता कितना बैंडविड्थ खा सकता है, वेब सर्फिंग के लिए कुछ मुफ्त छोड़ने के लिए।

बस का उपयोग करें:

wget --limit-rate=1.5k http://example.com 
+0

में बताया गया है, मैं अपने डाउनलोड के लिए बैंडविड्थ कैप नहीं रखना चाहता, क्योंकि सिस्टम निष्क्रिय होने पर मैं अच्छा नहीं करूँगा .. –

+0

एकमात्र अन्य विधि "स्क्रीनसेवर" के रूप में निष्पादित एक कस्टम स्क्रिप्ट होगी। बहुत अधिक कठिन, और - यह निर्भर करता है कि आपका सिस्टम कितना समय निष्क्रिय है - यह भी तेज़ नहीं हो सकता है। –

+0

यह ऐसा करने का एकमात्र तरीका है .. मुझे आश्चर्य है कि स्क्रीनसेवर कैसे कार्यान्वित किया गया है। उम्मीद है कि मैं इससे कुछ सुराग प्राप्त कर सकता हूं .. –

3

एक तरीका नहीं है लेकिन यह काफी hacky है। आप उचित उपकरणों (/ dev क्षेत्र में) सुन सकते हैं।

उदाहरण के लिए

, मेरे वर्तमान मशीन पर:

sudo cat /dev/input/by-path/platform-i8042-serio-0-event-kbd 

बाइट्स अगर मैं टाइप कर रहा हूँ और ब्लॉक (आउटपुट कुछ भी नहीं) अगर मैं नहीं कर रहा हूँ की एक पूरी लोड उत्पन्न करता है। माउस के लिए कुछ समान काम करना चाहिए लेकिन यह मेरे सिस्टम पर प्रतीत नहीं होता है।

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

यह लिखने के लिए एक साधारण कार्यक्रम नहीं है (आप इसे एक-दूसरे को सिग्नल करने वाली स्क्रिप्ट्स के समूह के रूप में करने में सक्षम हो सकते हैं लेकिन मैं व्यक्तिगत रूप से नहीं करता) और xscreensaver (या यहां तक ​​कि केवल CPU उपयोग) जैसे कुछ का उपयोग करना आसान होगा (लेकिन शायद कम मजेदार)।

+0

जो कीबोर्ड के लिए काम करता है .. लेकिन माउस/टचपैड के लिए यह मेरे लिए भी काम नहीं करता है .. –

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

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