मेरे पास एक जावा निष्पादन योग्य कार्यक्रम है जिसे मैं java -jar abc.jar
टर्मिनल में टाइप करके चला सकता हूं । मैं इसे सेवा के रूप में कैसे चला सकता हूं? मैं इसे टाइप करके एक सेवा के रूप में चलाना चाहता हूं service abc start
।
मेरे पास एक जावा निष्पादन योग्य कार्यक्रम है जिसे मैं java -jar abc.jar
टर्मिनल में टाइप करके चला सकता हूं । मैं इसे सेवा के रूप में कैसे चला सकता हूं? मैं इसे टाइप करके एक सेवा के रूप में चलाना चाहता हूं service abc start
।
जवाबों:
सुनिश्चित करें कि आप 14.04 पर हैं। Ubuntu 16.04 (और ऊपर) सिस्टमड का उपयोग करता है, अपस्टार्ट का नहीं।
एक अपस्टार्ट स्क्रिप्ट एक स्क्रिप्ट फ़ाइल होती है जिसे अंदर /etc/init/
और अंत में रखा जाता है .conf
।
इसे 2 खंडों की आवश्यकता है: एक को इंगित करना है कि कब शुरू करना है, और दूसरा निष्पादित करने के लिए कमांड के साथ।
आपके नमूने के साथ शुरू करने के लिए सबसे आसान स्क्रिप्ट है:
# myprogram.conf
start on filesystem
exec /usr/bin/java -jar /path_to/program
के तहत जड़ के रूप में बनाया गया /etc/init/myprogram.conf
।
यदि आपकी स्क्रिप्ट में एक से अधिक कमांड लाइन की आवश्यकता है, script
तो exec
लाइन के बजाय अनुभाग का उपयोग करें :
# myprogram.conf
start on filesystem
script
/usr/bin/java -jar /path_to/program
echo "Another command"
end script
अपनी सेवा के लिए बैश पूरा करने में सक्षम करने के लिए, /etc/init.d
फ़ोल्डर में एक सिमलिंक जोड़ें :
sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram
फिर शुरू करने और इसे रोकने की कोशिश करें:
sudo service myprogram start
अपस्टार्ट कुकबुक के अनुसार , आप निष्पादित करने के लिए pre-start
/ post-start
और pre-stop
/ post-stop
कमांड बना सकते हैं ।
इसके अतिरिक्त, मैं पढ़ता हूं कि आप जांचना चाहते हैं कि कोई प्रक्रिया चल रही है या नहीं। इस प्रश्न की जाँच करें और शायद pre-start
अनुभाग का उपयोग करें ।
sudo chmod +x /etc/init.d/myprogram
। चेतावनी: उबंटू 16.04 में काम नहीं किया गया आपका उत्तर दिया गया तरीका!
आपको एक upstart बनाने की आवश्यकता है। http://upstart.ubuntu.com/getting-started.html
Upstart (IMHO) एक अच्छा ol 'SysV init स्क्रिप्ट की तुलना में एक आपदा है। अपस्टार्ट अतिरिक्त कार्य के साथ एफएआर अधिक प्रयास है। उस के साथ, मुझे संदेह है कि वहाँ कुछ ऊपर रक्षक वहाँ हो जाएगा कि मुझे स्पष्ट और; बताते हुए मुझे काम करने के लिए ले जाएगा;