2012-12-28 23 views
7

/etc/security/limits.confहेडलेस उपयोगकर्ता के तहत चल रही प्रक्रियाओं के लिए /etc/security/limits.conf परिवर्तन कैसे प्राप्त होते हैं?

soft nofile 10000 
hard nofile 10000 

में एक Ubuntu Linux मशीन हम परिवर्तन निम्नलिखित था पर सभी प्रक्रियाओं के लिए एफडी सीमा को बढ़ाने के लिए हम यह भी कहा सत्र /etc/pam.d/login में pam_limits.so की आवश्यकता है। परिवर्तन उन सभी उपयोगकर्ताओं के लिए प्रतिबिंबित हुए जिन्होंने लॉग इन किया और फिर से लॉग इन किया। उन उपयोगकर्ताओं के तहत जो भी नई प्रक्रियाएं शुरू हो रही हैं, वे नई एफडी सीमाएं प्राप्त कर रहे हैं।

लेकिन हेडलेस उपयोगकर्ता के तहत चल रही प्रक्रियाओं के लिए परिवर्तन प्रतिबिंबित नहीं हो रहे हैं। वह तरीका क्या है जिससे परिवर्तन प्रक्रियाओं के लिए प्रतिबिंबित किया जा सकता है जो हेडलेस उपयोगकर्ता के तहत भी चल रहे हैं?

+1

हेडलेस उपयोगकर्ता के साथ आपका क्या मतलब है? – Atropo

उत्तर

5

मुझे एक ही समस्या थी (रूट/myuser के साथ) और एक निश्चित उत्तर खोजने में असमर्थ था। मैं समाप्त हो गया बस

ulimit -n 64000

init.d स्क्रिप्ट है कि इस प्रक्रिया (इस मामले में लचीला खोज) की शुरूआत करने के लिए जोड़ने, और यह चाल करने के लिए लगता है।

उम्मीद है कि कोई और बेहतर समाधान जानता है!

+0

आपको सूडो अधिकारों का उपयोग करके init.d स्क्रिप्ट लॉन्च करना होगा क्योंकि किस तरह से ulimit -n काम कर रहा है। मेरे मामले में जो स्क्रिप्ट लॉन्च करता है वह रूट विशेषाधिकारों के तहत नहीं चलाया जाता है, इसलिए उलिमिट का उपयोग करने के लिए रूट विशेषाधिकारों की आवश्यकता होती है, यहां कोई विकल्प नहीं है – Ameliorator

+1

हां यह सही है। मुझे समझ में नहीं आता कि क्यों '/ etc/security/limit.conf' init.d स्क्रिप्ट पर लागू नहीं होता है। (मैं इसे तथ्य के बाद मैन्युअल रूप से लॉन्च कर सकता हूं और सीमाएं अपेक्षित हैं!) – Spike

+0

मेरे विशेष मामले में, जो एप्लिकेशन मैं चला रहा था वह सुडो के साथ शुरू हुआ था। मेरा मानना ​​था कि इसलिए रूट उपयोगकर्ता के खाते से सीमा लागू की जाएगी। मैं गलत था। इसके बजाए, मैंने पाया कि, हालांकि आवेदन रूट के रूप में चल रहा था, लेकिन उस पर लागू सीमाएं उस उपयोगकर्ता से संबंधित सीमाएं थीं, जिसने एप्लिकेशन लॉन्च किया था। – MaasSql