लंबित सिग्नल क्या हैं?


9

जब मैं एक चल रही प्रक्रिया की सीमा को देखता हूं, तो मैं देखता हूं

Max pending signals       15725
  • यह क्या है?
  • मैं एक व्यस्त सेवा के लिए एक समझदार मूल्य कैसे निर्धारित कर सकता हूं?

आम तौर पर, मुझे ऐसा पृष्ठ नहीं मिल रहा है जो यह बताए कि प्रत्येक सीमा क्या है। कुछ बहुत ही आत्म-व्याख्यात्मक (अधिकतम खुली फाइलें) हैं, तो कुछ कम (अधिकतम मेस्क्यू आकार)।


लगभग अप-टू-डेट आर्क लाइनक्स पर, कर्नेल 3.14.37-1-lts, zsh, मुझे मिलता है sigpending 31603। ये सीमाएँ ऐसी अजीब संख्याएँ क्यों हैं (अर्थात 2 की शक्ति नहीं)?
ब्रूस एडगर

जवाबों:


6

के मैनुअल पेज के अनुसार sigpending:

sigpending () उन संकेतों के समूह को लौटाता है जो कॉलिंग थ्रेड को डिलीवरी के लिए लंबित हैं (यानी, सिग्नल जो अवरुद्ध होते समय उठाए गए हैं)।

तो, इसका मतलब है कि सिग्नल (सिग्मर्टम, सिगकिल, सिगस्टॉप, ...) जो तब तक इंतजार कर रहे हैं जब तक प्रक्रिया D(निर्बाध नींद) की स्थिति से बाहर नहीं निकल जाती है । आमतौर पर एक प्रक्रिया उस अवस्था में होती है जब वह I / O की प्रतीक्षा कर रही होती है। नींद बाधित नहीं हो सकती। यहां तक ​​कि सिगिल ( kill -9) नहीं कर सकता है और जब तक प्रक्रिया नहीं उठती तब तक कर्नेल इंतजार करता है (सिग्नल डिलीवरी के लिए लंबित है)।

अन्य अस्पष्ट मूल्यों के लिए, मैं में एक बार देख ले जाएगा मैन्युअल पृष्ठ की limits.conf


यह के लिए मैनुअल पृष्ठों है sigqueueऔर setrlimitतुम सच में करने पर विचार करना चाहिए।
JdeBP

0

प्रक्रिया की सीमाएं नियंत्रण रेखा द्वारा नियंत्रित होती हैं (2)

तो आप इसके मेन्यू में देख सकते हैं:

RLIMIT_SIGPENDING (चूंकि लिनक्स 2.6.8)

कॉलिंग प्रक्रिया के वास्तविक उपयोगकर्ता आईडी के लिए पंक्तिबद्ध किए जाने वाले संकेतों की संख्या पर सीमा निर्दिष्ट करता है। इस सीमा की जाँच के उद्देश्य से दोनों मानक और वास्तविक समय के संकेतों को गिना जाता है। हालांकि, सीमा केवल सिगीक्यू (3) के लिए लागू की जाती है; यह हमेशा संभव है कि प्रक्रिया में पहले से कतारबद्ध न होने वाले संकेतों में से किसी एक को पंक्तिबद्ध करने के लिए किल (2) का उपयोग किया जाए।

आमतौर पर, आप सबसे विस्तृत जानकारी प्राप्त कर सकते हैं जब आप syscalls के manpages में देखते हैं। C UNIX / Linux की मातृभाषा है।

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