अपस्टार्ट सेवा कभी भी पूरी तरह से शुरू या बंद नहीं होती है


11

मैं टीमपेक सर्वर के लिए एक सरल अपस्टार्ट स्क्रिप्ट बनाने की कोशिश कर रहा हूं, लेकिन यह काम नहीं कर सकता।

जब मैं कहता हूं कि initctl इसे केवल निष्पादित करता है, लेकिन कभी भी समाप्त नहीं होता है या किसी भी संदेश का उत्सर्जन नहीं करता है। वही रुक रहा है ।

यह सुनिश्चित करने के लिए कि मैं कुछ गलत नहीं कर रहा हूं, मैंने क्रोन स्क्रिप्ट की नकल की है और इसे चलाने की कोशिश की है, लेकिन ऐसा ही होता है।

मुझसे यहां क्या गलत हो रहा है?

अपडेट करें:

यहाँ TS3 के लिए मेरी स्क्रिप्ट है:

# myservice - myservice job file
description "my service description"
author "Me <myself@i.com>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Essentially lets upstart know the process will detach itself to the background
expect fork

# Start the process
script
       emit going into TS3 dir
       chdir /home/danizmax/teamspeak3-server_linux-x86/
       emit starting TS3
       exec su -c "/home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh start" danizmax &
       emit done
end script

मैंने सबसे सरल स्क्रिप्ट के साथ भी कोशिश की, और यह भी काम नहीं करता है:

description     "regular background program processing daemon"

start on runlevel [2345]
stop on runlevel [!2345]

expect fork
respawn

exec echo example
console output

आपके सहयोग के लिए धन्यवाद।


आप जिस अपस्टार्ट जॉब को चलाने की कोशिश कर रहे हैं उसे दिखाना चाहते हैं ताकि हम इसे डिबग कर सकें? यह जानना मुश्किल है कि यह बिना देखे क्यों लटका हुआ है।
स्लैंगसेक

मैंने क्रोन स्क्रिप्ट की नकल की है और इसे चलाने की कोशिश की है और ऐसा ही होता है, बस रुकता है और शेल पर कभी नहीं लौटता है
danizmax

हमें अभी भी आपके ऊपर की स्क्रिप्ट देखने की ज़रूरत है। इसके बिना, कुछ भी नहीं है जो हम कर सकते हैं। कृपया इसे पोस्ट करें, या हमें इसका लिंक प्रदान करें।
hggdh

स्क्रिप्ट को देखे बिना, मैं केवल इतना कर सकता हूं कि आप अनुमान लगा सकते हैं: क्या आपकी स्क्रिप्ट का ख्याल है कि यह ऊपर की ओर जड़ के रूप में चलाया जाए? रूट का पैट अलग है। यदि आपकी स्क्रिप्ट ऐसे एप्लिकेशन का उपयोग करना चाहती है जो रूट के PATH में नहीं है तो आपको पूर्ण पथ निर्दिष्ट करना होगा। क्या आपकी लिपि में एक ऐसा प्रोग है जो वापस नहीं आता है?
वाल्टिनेटर

जवाबों:


1

आपके ऊपर के काम में कई विषमताएँ हैं जो मुझे अपना सिर खुजला रही हैं।

1) एमिट एक ऐसा प्रोग्राम नहीं है जिसे मैं जानता हूं, इसलिए जब तक आपने इसे सिस्टम पथ में नहीं जोड़ा है, तब तक यह त्रुटियों का कारण है। क्या आपका मतलब 'गूंज' था? यह सहायक नहीं हो सकता है, क्योंकि यह सिस्टम कंसोल पर जाएगा जो दिखाई नहीं दे सकता है।

2) 'एमिट' छंद कार्यों को मानते हुए, आप कहते हैं 'उम्मीद कांटा' लेकिन फिर वास्तव में दो बार कांटा । एक बार 'स्क्रिप्ट' के लिए, और फिर जब टीमपेक स्क्रिप्ट बैकग्राउंड करने के लिए अपने आप को।

3) आप स्क्रिप्ट को चलाने के लिए "सु", लेकिन स्टार्ट-स्टॉप-डेमन वास्तव में ज्यादातर मामलों के लिए सरल है:

11.10 के साथ, आपको chdirस्क्रिप्ट में करने की आवश्यकता नहीं है, यह सुनिश्चित नहीं है कि यदि आपके पास अपस्टार्ट का जो भी संस्करण है उसके बाद जोड़ा गया है। man 5 initशब्द के लिए जाँच करेंchdir

start on runlevel [2345]
stop on runlevel [^2345]

respawn

chdir /home/danizmax/teamspeak-server
expect fork

exec start-stop-daemon --start --user danizmax --group danizmax --exec /home/danizmax/teamspeak3-server_linux-x86/ts3server_startscript.sh -- start

साथ ही, त्रुटियों की सूचना / var / log / syslog में दी जाएगी। आप रन करके त्रुटि स्तर को थोड़ा बढ़ा सकते हैं

initctl log-priority info

man initctl अधिक लॉग स्तरों के लिए।


ओपी नहीं, लेकिन वह सर्वर को अपने उपयोगकर्ता के रूप में निष्पादित करने के लिए (danimaz) र का उपयोग कर रहा है, न कि रूट बनने के लिए।
जेवियर रिवेरा

हाह दोह, नीचे की तरफ स्क्रॉल बार छूट गया .. उपयोगकर्ता नाम छिपाने के लिए पूरी तरह से गठबंधन किया गया। :-P
SpamapS
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.