Windows 2008 सर्वर पर .bat फ़ाइल चलाने वाली सेवा कैसे बनाएं?


21

मैंने सेवा का उपयोग करके बनाया है

sc create myService binpath=myservice.bat

लेकिन जब मैं इसे शुरू करता हूं, तो यह निम्न त्रुटि संदेश के साथ विफल हो जाता है:

[SC] StartService FAILED 1053:
    The service did not respond to the start or control request in a timely fashion.

Win2k3 पर मैंने संसाधन किट से srvany.exe का उपयोग किया, लेकिन win2k8 के लिए कोई संसाधन किट नहीं है। समय के लिए मैंने अपनी मशीन पर srvany.exe स्थापित किया है, लेकिन मुझे नहीं लगता कि यह करने का सबसे अच्छा तरीका है।

धन्यवाद!


1
आप एक सेवा के रूप में एक बैच फ़ाइल चला सकते हैं? क्या कोई निर्धारित कार्य बेहतर नहीं होगा? मुझे पता है कि यदि आप एक वास्तविक विंडोज सेवा का उपयोग करते हैं, तो ओनलॉड घटना को कुछ सेकंड के भीतर वापस आने की आवश्यकता है।
tsilb

जवाबों:


9

बेशक आप उस तरह एक सेवा नहीं चला सकते हैं। क्या आपने सर्वर 2008 में srvany का उपयोग करने का प्रयास किया था? जहां तक ​​मुझे पता है कि s2k8 के लिए srvany का कोई 'आधिकारिक' संस्करण नहीं है, लेकिन आप हमेशा कोशिश कर सकते हैं, क्या आप नहीं कर सकते?

संपादित करें: ओह, मैं भूल गया! हम गैर-सेवा अनुप्रयोगों को सेवाओं के रूप में चलाने के लिए फायरडैम का उपयोग करते हैं। हालांकि, यह मुफ़्त नहीं है और इसकी कार्यक्षमता आपकी ज़रूरतों के लिए बहुत अधिक है।


जो मैंने लिखा वो मैंने किया।
abyx

हम्म .. यह अजीब है। यह सिर्फ मेरे मस्तिष्क के माध्यम से सही फ़िल्टर्ड है। माफ़ कीजिये। किसी भी तरह से, श्रीवनी इस स्थिति में सबसे अच्छी बात लगती है।
shylent

2008 में srvany काम करता है (मैं इसे Winamp.exe को एक होम सर्वर पर एक सेवा के रूप में स्थापित करने और चलाने के लिए उपयोग करता हूं) ... लेकिन आप सिर्फ एक बैट फाइल नहीं चला सकते।
Oskar Duveborn

24

सेवा के रूप में .BAT या किसी भी .EXE फ़ाइल को चलाने के लिए NSSM का उपयोग करें। यह SRVANY के लिए लगभग एक प्रतिस्थापन है और यह नो फ्रिल नो फ्यूज़ एप्लिकेशन है।

http://iain.cx/src/nssm/

मुझे आपके समान ही समस्या थी, और एनएसएसएम एकमात्र उपयोगिता थी जिसने काम किया।


3
मैंने इसके बारे में पहले नहीं सुना था, लेकिन यह एक मूल्यवान उपकरण प्रतीत होता है। पारितोषिक के लिए धन्यवाद।
स्काईवॉक

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

8

जब भी कंप्यूटर शुरू होता है (चाहे कोई उपयोगकर्ता लॉग इन हो या न हो) टास्क शेड्यूलर का उपयोग हम कार्य के लिए करते हैं


1
छिपाने के लिए खिड़की यह पढ़ या इस अगर आप खुश नहीं प्रणाली के रूप में चल रहे हैं
JonnyRaa

7

आप बस एक .BAT फ़ाइल या किसी भी .EXE फ़ाइल को सेवा के रूप में नहीं चला सकते हैं। Windows सेवाएँ आपके द्वारा काम नहीं करती हैं। आप सेवा के रूप में एक मनमाना कार्यक्रम चलाने के लिए गैर-चूसने सेवा प्रबंधक (NSSM) या Microsoft की गैर-मुक्त SRVANY उपयोगिता जैसी उपयोगिता का उपयोग कर सकते हैं, लेकिन आप पा सकते हैं कि आपको व्यवहार को रोकने के लिए बहुत "सुंदर" नहीं मिलता है।


3

SC कमांड सिर्फ एक सेवा के लिए आवश्यक रजिस्ट्री प्रविष्टियों को जोड़ता है - यदि आपके द्वारा निर्दिष्ट फ़ाइल एक वैध सेवा नहीं है तो इसे एक में नहीं बदलेंगे।


2

से: तकनीकी मंचों पर यह पोस्ट: http://social.technet.microsoft.com/Forums/en-US/winserverMigration/thread/98a97aee-c62b-4683-94ab-3777499cf7de/

यहाँ क्या करना है ...

इस पोस्टिंग के समय, कोई Windows Server 2008 संसाधन किट उपकरण नहीं है, इसलिए "Windows Server 2003 संसाधन किट उपकरण" से "srvany.exe" प्राप्त करें और इसे अपने Win2008 सर्वर (जैसे C: उपयुक्त स्थान पर कॉपी करें) \ Windows \ System32 \)। "Srvany" लॉन्च करने वाली एक नई सेवा बनाने के लिए "sc" का उपयोग करें (उदाहरण के लिए sc बनाएँ MyService binPath = C: \ Windows \ System32 \ srvany.exe DisplayName = "My Custom Service") RegEdit का उपयोग करके, अपने लिए "पैरामीटर" कुंजी बनाएँ सेवा (जैसे HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MyService \ Paramaters \) RegEdit का उपयोग करना: नए बनाए गए "पैरामीटर" कुंजी के भीतर, "एप्लिकेशन" नामक एक स्ट्रिंग मान बनाएं और उस एप्लिकेशन के लिए पूर्ण पथ दर्ज करें जिसे आप चलाना चाहते हैं। एक सेवा। (कोई उद्धरण आवश्यक नहीं है।)

और वह करना चाहिए।

नोट: कुछ एप्लिकेशन अपनी सेटिंग्स को उपयोगकर्ता के हाइव में संग्रहीत करते हैं, HKEY_LOCAL_MACHINE के तहत नहीं, इसलिए आपको इसे कॉन्फ़िगर करने के लिए एप्लिकेशन को चलाने की आवश्यकता होगी, और फिर उस उपयोगकर्ता के रूप में चलाने के लिए सेवा को कॉन्फ़िगर करना होगा।


2

इस कोशिश ... यह मेरे लिए काम किया ..

sc create ServiceTest binpath= "C:\Windows\System32\cmd.exe /C C:\ServiceTest\Jenkins-Slave.bat"

यह मेरे लिए भी काम नहीं किया! ओपी के रूप में एक ही त्रुटि - समय पर फैशन में शुरू नहीं हुई।
रवींद्र एचवी

Ditto - काम नहीं किया।
स्पेज करें

0

मैं इस बात पर अड़ गया। यहाँ पर Bat_To_Exe_Converter नामक टूल है। किसी भी .bat फ़ाइल को .exe फ़ाइलों में बदलना बहुत आसान है। कोशिश करो। डाउनलोडर को पहले डाउनलोड करें और यह स्वचालित रूप से फिर से Bat_To_Exe_Converter डाउनलोड करेगा। इसने वास्तव में मुझे .bat फ़ाइल के माध्यम से चलने वाली सेवा बनाने में मदद की। http://download.cnet.com/Bat-To-Exe-Converter/3001-2069_4-10555897.html?spi=eae5ab48292cc101b5f0ec370cf99ad0


सर्वर दोष में आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
स्कॉट पैक


0

मुझे दो अन्य विकल्प मिले जो आपके पास आपके बटुए तक नहीं पहुंचेंगे।

आपके पास scलॉन्च हो सकता है srvanyजो तब आपके कार्यक्रम को इंगित करता है। (वहाँ एक मंच पोस्ट है कि मैं लिंक नहीं कर सकता क्योंकि मेरे पास यहां पर्याप्त प्रतिनिधि नहीं है हालांकि मैं StackOverflow - grumble पर)

यहां मूल पोस्टर का उपयोग करने वाले चरण दिए गए हैं:

  1. scलॉन्च करने वाली एक नई सेवा बनाने के लिए उपयोग करें srvany(जैसे sc create MyService binPath=C:\Windows\System32\srvany.exe DisplayName="My Custom Service")
  2. RegEdit का उपयोग करना: Parametersअपनी सेवा के लिए एक कुंजी बनाएं (जैसे HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\)
  3. RegEdit का उपयोग करना: नई बनाई गई Parametersकुंजी के भीतर , एक स्ट्रिंग मान कहा जाता है Applicationऔर उस एप्लिकेशन पर पूर्ण पथ दर्ज करें जिसे आप सेवा के रूप में चलाना चाहते हैं। (कोई उद्धरण आवश्यक नहीं है।)

यदि यह एक हैक की तरह लगता है , तो आप अपनी प्रक्रिया शुरू करने के लिए एक .NET सेवा का निर्माण कर सकते हैं। यदि आप कुछ चरणों को छोड़ना चाहते हैं, तो यहां एक ओपन सोर्स .NET सेवा है जो जेनेरिक प्रक्रियाओं को लॉन्च कर सकती है:

http://www.codeproject.com/KB/system/xyntservice.aspx

इसे अपनी आवश्यकताओं के अनुरूप करें, लेकिन यह अधिकांश वही करेगा जो आप बॉक्स से बाहर चाहते हैं।


और srvany है कि आप का उल्लेख है, Win2k3 से एक है कि Win2k8 के लिए कोई समर्थित संस्करण है?
लार्स ऑक्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.