जब वे किसी चीज की प्रतीक्षा कर रहे होते हैं, तो प्रक्रियाएं सो जाती हैं, आमतौर पर I / O।
आपकी प्रक्रिया उस S
स्थिति में होगी जब वह पढ़ रहा है और संभवतः लिख रहा है कि अवरुद्ध हो रहा है। सेमाफोर या अन्य सिंक्रोनाइज़ेशन प्राइमेटिव पर प्रतीक्षा करते समय भी हो सकता है।
आप इसे "जागो" नहीं कर सकते - यह तभी आगे बढ़ेगा जब इसके लिए उपलब्ध डेटा / संसाधन की प्रतीक्षा की जा रही है।
यह सब सामान्य और अपेक्षित है, और आमतौर पर समस्या नहीं है। आमतौर पर, यह "प्रोग्राम" कमांड लाइन पर बिना किसी फ़ाइल के चलता है:
while (<>) { print; }
अपना अधिकांश समय नींद की अवस्था में बिताएंगे, जो अच्छा है - आप सीपीयू को बर्बाद नहीं करना चाहते, जबकि यह उपयोगकर्ता इनपुट की प्रतीक्षा कर रहा है।
अगर आपको लगता है कि यह एक समस्या है, तो अपने आई / ओ करने के तरीके को बदलने की कोशिश करें (अंतर्निहित डिवाइस के ब्लॉक आकार के अच्छे गुणकों में, बड़ी मात्रा में पढ़ना, मेमोरी मैपेड I / O, आदि करना)।