अलिमेट्स को स्टॉप-स्टॉप-डेमॉन के साथ काम करें


20

मेरे पास एक init.dस्क्रिप्ट है जो एक ऐप का उपयोग करके शुरू करती है start-stop-daemon --chuid SOME_SYSTEM_USER। यानी ऐप किसी अलग यूजर के तहत चलता है, रूट नहीं।

समस्या यह है कि, एप्लिकेशन को विशेष सीमा सेटिंग्स (अर्थात् ulimit -n 64000) की आवश्यकता होती है , जिसे मैंने सेट किया है limits.conf। यह काफी अच्छी तरह से काम करता है जब मैं इसे सीधे शेल से चलाता हूं: su - SOME_SYSTEM_USERशेल से ऐप शुरू करें।

लेकिन जब इसे start-stop-daemon --chuidसे चलाया जाता है /etc/init.d, तो इन सीमाओं को अनदेखा कर दिया जाता है। तब एप्लिकेशन काम करने में विफल रहता है, जाहिर है।

मैं सेटिंग्स start-stop-daemonको सम्मानित करने के लिए कैसे मजबूर करूं ulimit?


डेबियन निचोड़, २.६.३२-५-६ 1६ # १ एसएमपी सत ५ मई १३:३३-०२ यूटीसी २०१२ आई ६ /६ यूयू / लिनक्स

जवाबों:


23

इस समय, आप नहीं कर सकते। limits.conf(5)के लिए कॉन्फ़िगरेशन है pam_limits(8), जो PAM स्टैक द्वारा कॉन्फ़िगरेशन के अनुसार सक्रिय होता है /etc/pam.d। हालाँकि, start-stop-daemon(8)जैसा कि एक init.d स्क्रिप्ट से लॉन्च किया गया है, PAM स्टैक से नहीं गुजरता है, इसलिए उन प्रकार की सेटिंग्स को कभी भी लागू नहीं किया जाता है।

डेबियन बग # 302079 में से सेटिंग सीमा को सक्षम करने के लिए एक पैच होता है start-stop-daemon(8), लेकिन बग 2005 से खुला है और पैच अभी तक विलय नहीं किया गया है।

आदर्श नहीं होने के बावजूद, AFAIK ने इसे अभी पूरा करने के लिए अनुशंसित तरीका ulimitअपने init.d स्क्रिप्ट में कॉल जोड़ना है ।


कमांड के ulimitठीक पहले सेटिंग जोड़ें start-stop-daemon। (यानी ulimit -n 64000) ... मेरे जैसे अज्ञानी के लिए।
रयान शूमाकर

अगर, ओपी के विपरीत, आप नहीं जानते कि किस डेमॉन के दुर्घटनाग्रस्त होने के बाद, मुझे सिर्फ डेबियन व्हीज़ी पर डेमन को फिर से शुरू करने पर अच्छे परिणाम मिले: इको "अलिमिट-सी अनलिमिटेड" | सुडो टी / लिलि
मार्टिन डोरी

कुछ और मूल्यवान पृष्ठभूमि की जानकारी यहाँ देखी जा सकती है: serverfault.com/a/642082/22394
'

7

आप अपस्टार्ट स्क्रिप्ट में 'लिमिट' कमांड का भी उपयोग कर सकते हैं।

फ़ाइल में /etc/init/foo.conf, लाइन जोड़ें:

limit nofile 64000 64000

पहला 64000 सॉफ्ट लिमिट है, और दूसरा हार्ड लिमिट है।

आप अधिक जानकारी यहाँ पा सकते हैं: http://upstart.ubuntu.com/cookbook/

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