'अटक' ('शीर्ष' के परिणामों में) 'रिस्पॉन्स नहीं' (एक्टिविटी मॉनिटर में), 'स्पिन' या 'हैंग' से कैसे संबंधित है?


17

topआदेशों के परिणामों में , मैं कभी-कभी अटक जाता हूं ।

ऐप्पल के शीर्ष (1) ओएस एक्स मैनुअल पेज शब्द के इस उपयोग की व्याख्या नहीं करता है।

कैसे, अगर यह सब, अटक निम्नलिखित से संबंधित है?

  1. प्रतिसाद नहीं दे रहा है - लॉगइनविंडो के फोर्स क्विट एप्लिकेशन संवाद में गतिविधि मॉनिटर में देखा जा सकता है, और इसी तरह
  2. .hang फ़ाइलें - पर मौजूद हो सकता है /Library/Logs/DiagnosticReports
  3. .spin फ़ाइलें - पर मौजूद हो सकता है /Library/Logs/DiagnosticReports

पहले बिंदु के लिए एक स्वीकृत उत्तर है। अंक 2 और 3 से संबंधित उत्तर की सराहना की जाएगी।

जवाबों:


15

आमतौर पर और नॉन-रेस्पॉन्स एप्लिकेशन की अटकी प्रक्रिया के बीच कोई संबंध नहीं है top:

  • अटक का मतलब है कि प्रक्रिया वर्तमान में संयुक्त राष्ट्र की रुकावट है जो आमतौर पर मामला है यदि प्रक्रिया डिस्क या नेटवर्क डेटा ब्लॉक को पढ़ने के लिए इंतजार कर रही है (या समान स्तर के सामान)। तकनीकी रूप से बोलने की प्रक्रिया कर्नेल स्पेस (उर्फ यूनिक्स कर्नेल) में निष्पादित हो रही है और इसे बाधित नहीं किया जा सकता है (इसलिए kill -9इसका कोई प्रभाव भी नहीं होगा)। आमतौर पर ये अटकी स्थिति केवल अंतिम मिलीसेकंड होती है (जैसा कि आप देख सकते हैं topक्योंकि हर प्रदर्शन चक्र के साथ अटक प्रक्रियाओं की संख्या बदल जाती है)।
  • गैर जवाब अनुप्रयोगों हो सकता है भी किसी भी घटना ओएस एक्स उन पर फेंकता का जवाब देने के व्यस्त।

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


धन्यवाद - अगर अटकना अबाधित का पर्याय है , तो मैं उस स्थिति से परिचित हूं। uninterruptibleआमतौर पर तब देखा जाता है जब मैं कमांड लाइन से चलते समय कंट्रोल-टी ( SIGINFO ) को कुंजी देता हूं fsck_hfsSIGINFOApple के शब्दावली में अधिक (4) OS X मैनुअल पेज
ग्राहम पेरिन

इस उत्तर से संबंधित, स्टैक ओवरफ्लो में एक प्रश्न ब्याज का हो सकता है: प्रोग्राम को जवाब देने की प्रक्रिया को नहीं पहचानने के लिए कैसे पहचानें
ग्राहम पेरिन

2
मुझे शीर्ष के स्रोत कोड पर एक नज़र थी: अबाधित, अटक के समान है।
nohillside

गोत्चा - मैक ओएस एक्स 10.7.4 के लिए खुले स्रोत में libtop.c से हाइलाइट करता है।
ग्राहम पेरिन

1

प्रक्रिया राज्य U, TH_STATE_UNINTERRUPTIBLE और लिनक्स प्रक्रिया राज्य D

किसी और ने MacOS के शीर्ष पर ध्यान आकर्षित किया : "अटक" का अर्थ है "निर्बाध" | nelsonslog

...  TH_STATE_UNINTERRUPTIBLE, जो मेरा मानना ​​है कि psप्रक्रिया राज्य "यू" के रूप में क्या रिपोर्ट है। मैं यह अनुमान लगा रहा हूं कि लिनक्स "डिवाइस प्रतीक्षा" के लिए "डी" को क्या कहता है। जिस स्थिति में, ज्यादातर मामलों में प्रक्रिया ठीक है, यह कुछ I / O के पूरा होने की प्रतीक्षा कर रही है। ...

Ps के लिए Ubuntu आदमी पेज एक प्रक्रिया राज्य कोड की पुष्टि करता है -

D    Uninterruptible sleep (usually IO)

- निर्बाध का कोई अन्य उल्लेख नहीं है ।

FreeBSD / Linux लिनक्स कर्नेल क्रॉस-संदर्भ में:

मुझे 2002 की चर्चा का उत्तर मिला द गैंग 83: निर्बाध नींद की स्थिति में एक प्रक्रिया को कैसे मारना है? ( हाइलाइट्स ) जो @patrix द्वारा किए गए टिप्पणियों के साथ अच्छी तरह से फिट बैठता है।

पिछली बार नहीं बल्कि कम से कम, 2004 की एक पोस्ट [X-Unix] PS और अटक प्रक्रियाओं ( हाइलाइट्स ) में WindowServer का उल्लेख किया गया था , जो कि प्रश्न के साथ अच्छी तरह से फिट बैठता है जिसने मुझे यहां प्रश्न पोस्ट करने के लिए प्रेरित किया:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.