आपको वास्तव में कम चलाने की प्रक्रिया नहीं मिल सकती है । आप niceइसे कम प्राथमिकता देने के लिए उपयोग कर सकते हैं , लेकिन यह अन्य प्रक्रियाओं के संबंध में है। सीपीयू कूलर को चलाने का तरीका जब एक प्रक्रिया चलती है usleep(3)तो प्रक्रिया को रन स्टेट से बाहर निकालने के लिए एक निश्चित समय के लिए tarउपयोग करना होता है, लेकिन इसमें पैचिंग LD_PRELOADफ़ंक्शन को शामिल करना या तंत्र का tarउपयोग करना होगा जो बहुत अधिक उपयोग करता है (जैसे fopen(3))।
मुझे संदेह है कि आपके सबसे अच्छे वर्कअराउंड वे हार्डवेयर हैं जिनका आपने सुपरयूज़र पर उल्लेख किया है: लैपटॉप को ठंडा रखना और / या सीपीयू घड़ी को कम करना।
एक कष्टप्रद लेकिन संभवतः व्यवहार्य वर्कअराउंड (एक कीचड़, वास्तव में) एक 'स्थूल' स्तर पर काम करता है। tarहर 200 मीटर में 100 मीटर रन बनाने के बजाय , आप इसे हर दो में से एक सेकेंड रन बना सकते हैं। नोट: यह एक भयानक, भयानक कीचड़ है। लेकिन हे, यह भी काम कर सकते हैं!
tar cjf some-file.tar.bz2 /some-directory &
while true; do
sleep 1 # Let it run for a second
kill -STOP $! 2>/dev/null || break
sleep 1 # Pause it for a second
kill -CONT $! 2>/dev/null || break
done
पहला sleepसोते समय को समायोजित करता है, दूसरा एक रनटाइम को समायोजित करता है। जैसा कि अब यह खड़ा है, इसे 50% शुल्क चक्र मिला है। तापमान को नीचे रखने के लिए, आपको संभवतः ड्यूटी चक्र को 25% या उससे कम करने की आवश्यकता होगी (1 सेकंड रन, 3 सेकंड की नींद = हर 4 सेकंड में से = 25% कर्तव्य चक्र)। शेल कमांड sleep, आंशिक समय ले सकता है, वैसे। तो आप भी कह सकते थे sleep 0.1। यह सुनिश्चित करने के लिए इसे केवल 0.001 से अधिक रखें, और यह न भूलें कि स्क्रिप्ट निष्पादन समय के साथ भी जुड़ जाता है।