लिनक्स: कैसे 'सर्विस फू स्टार्ट' (कमांड लाइन पर) के लिए पैरामीटर पास करें?


11

मैं जिस सेवा को शुरू कर रहा हूं, उसके लिए एक तर्क देना चाहूंगा। जैसे डिबग मोड में सर्वर शुरू करना। पसंद,

service jboss-as start debug

या ऐसे। लेकिन serviceलगता है कि समर्थन नहीं करते।

क्या कोई रास्ता है? (आरएचईएल 6 के लिए यदि वह मायने रखता है।)

नोट: यह उबंटू / लिनक्स के समान है : स्टार्टअप पैरामीटर आमतौर पर स्टार्टअप स्क्रिप्ट (सिसविनीट) के लिए कैसे परिभाषित किए जाते हैं? लेकिन ऐसा नहीं है।


बंद करो, ubuntu sysv का उपयोग नहीं करता है, यह upstart का उपयोग करता है।
फ़ारसीगुल्फ

1
स्टार्टअप स्क्रिप्ट में एक और मामला बनाएं। उदाहरण: start-debugऔर फिर आप चला सकते हैं:/etc/init.d/jboss-as start-debug
गुंटिस

जवाबों:


10

RHEL में आपके पास / etc / sysconfig फ़ोल्डर है। यहां आप स्टार्टअप मापदंडों को परिभाषित करते हैं। और आपके स्टार्टअप स्क्रिप्ट में आप कुछ इस तरह शामिल हैं:

if [ -f /etc/sysconfig/$prog ] ; then
    . /etc/sysconfig/$prog
fi

उदाहरण के लिए मौजूदा सेवाओं की जाँच करें।

विकास के लिए आप अपने स्टार्टअप मापदंडों को एक निर्यातित चर (उदाहरण के लिए .bashrc) में रख सकते हैं, जिसे आप अपनी इच्छानुसार किसी भी समय मैन्युअल रूप से ओवरराइड कर सकते हैं।

संपादित करें

यदि आप वास्तव में उपयोग करना चाहते serviceहैं तो कुछ अन्य विकल्प हैं।

आपकी स्क्रिप्ट को कम से कम startऔर समर्थन करना चाहिए stop। लेकिन आप एक debugकमांड भी लागू कर सकते हैं । और अपना कार्यक्रम शुरू करें:

service foo debug

दूसरा तरीका यह होगा कि आप अपनी स्क्रिप्ट में दूसरे तर्क की जाँच करें और आप अपना प्रोग्राम शुरू करें:

service foo start debug

अपनी init स्क्रिप्ट को कुछ इस तरह बदलें:

case "$1" in
  start)
        if [ "$2" = "debug" ]
        then
                start_debug
        else
                start
        fi
        ;;

1
एक्सपोर्टेड एनवायरमेंट वर्जन के लिए, ऐसा प्रतीत नहीं होता है - सेवा के मैन पेज का कहना है कि TERM और LANG ही ऐसे हैं जो स्क्रिप्ट को पास करते हैं। लेकिन निश्चित रूप से, कोई भी हमेशा /etc/init.d/MyNiftyService चलाकर बाईपास सेवा शुरू कर सकता है, जो कुछ भी 2 शुरू करें ...
एलियन लाइफ फॉर्म

मैं एलियन के बाईपास का सहारा लूंगा। उत्तर के रूप में रखना चाहते हैं?
ओन्ड्रा kaइस्का

5

उबंटू में, स्टार्टअप पैरामीटर आमतौर पर पाए जाते हैं:

/etc/default/<service_name>

2
ठीक है, लेकिन मैं नहीं चाहता कि हर बार मुझे बदलाव की जरूरत पड़े ... विकास के दौरान यह अक्सर होता है। और मुझे आरएचईएल की आवश्यकता है 6. प्रश्न का संपादन किया।
ओन्ड्रा kaइस्का

0

मैं अपने अस्तित्व की जाँच के बाद सिस्टम विशिष्ट फ़ाइल से अतिरिक्त मापदंडों की सोर्सिंग के साथ जाऊंगा, जैसा कि ऊपर सुझाया गया है।

मुझे सेवा स्टार्टअप में कोई अतिरिक्त विकल्प जोड़ना पसंद नहीं है।

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