2009-01-06 13 views
108

एक एप्लिकेशन चलाने के लिए, बैच फ़ाइल को लात मारना होगा (जो जेटी शुरू करने जैसी चीजें करता है, लाइव लॉग प्रदर्शित करता है आदि)। एप्लिकेशन केवल तभी काम करेगा जब यह बैच फ़ाइल चल रही हो। इसलिए मुझे इस बैच फ़ाइल को चलाने के लिए मजबूर किया गया है और विंडोज सर्वर से लॉगआउट नहीं किया गया है।विंडोज सेवा के रूप में बैच फ़ाइल चलाएं

क्या इस बैच फ़ाइल को सेवा के रूप में चलाया जा सकता है? मैं similar question से सुझावों में से एक के साथ प्रयोग कर रहा हूं।

+21

बैच प्रोग्रामिंग अनइंस्टॉल करने के लिए विषय स्टैक एक्सचेंज के लिए है। –

+10

अच्छा सवाल। +1। मॉडरेटर बहुत गुस्से में हैं ... इसके अलावा मेरे पास एक और * अच्छा * उत्तर है, लेकिन सवाल बंद है (( – gavenkoa

+0

मैं इसके बजाय इस RunAsService का उपयोग करता हूं: http://runasservice.com/। यह उपयोग करने के लिए बहुत आसान है। कोई XML कॉन्फ़िगरेशन बकवास नहीं है। असल में यह आपको RunAsService देता है।निष्पादन योग्य exeable, जो किसी भी कंसोल अनुप्रयोग को एक सेवा के रूप में कमांड लाइन तर्क के साथ लपेटता है। मैं सिग्विन बैश स्क्रिप्ट को सेवाओं के रूप में चलाने के लिए इसका उपयोग करता हूं !!! दुर्भाग्यवश, यह सरल उपकरण बंद-स्रोत प्रतीत होता है। – Kaz

उत्तर

3

जैसा कि डौग करी ने रनएस सेवा का उपयोग किया है।

मेरे पिछले अनुभव से आप याद रखना चाहिए कि सेवा आप उत्पन्न

  • वातावरण चर की एक पूरी तरह से अलग सेट होगा
  • ध्यान से अधिकार/अनुमतियों के लिए निरीक्षण किया जाना करने के लिए है जारी करता
  • कहर के कारण हो सकता यदि यह किसी भी प्रकार के इनपुट के लिए पूछताछ संवाद खोलता है

सुनिश्चित नहीं है कि आखिरी बार अभी भी लागू होता है ... यह एक परियोजना में एक बड़ी रात का घोड़ा था कुछ समय पहले केड।

1

हालांकि यह मुफ़्त नहीं है (लेकिन $ 39), FireDaemon ने मेरे लिए इतना अच्छा काम किया है मुझे इसकी सिफारिश करनी है। यह आपकी बैच फ़ाइल चलाएगा लेकिन इसमें अतिरिक्त और बहुत उपयोगी कार्यक्षमता है जैसे शेड्यूलिंग, सर्विस अप मॉनिटरिंग, जीयूआई या एक्सएमएल आधारित सेवाओं, निर्भरताओं, पर्यावरण चर और लॉग प्रबंधन के आधार पर।

मैं JBoss आवेदन सर्वर ( run.bat) लॉन्च लेकिन कुछ ही समय बाद एहसास हुआ कि FireDaemon विन्यास क्षमताओं की समृद्धि बैच फ़ाइल खाई करने के लिए मुझे अनुमति दी और FireDaemon में अपनी आदेशों के इरादे से बनाना FireDaemon का उपयोग कर बाहर शुरू कर दिया सेवा परिभाषा।

ट्रिनिटी नामक एक सुपर फायरडेमॉन भी है जिसे आप देखना चाहते हैं कि आपके पास इस सेवा को प्रबंधित करने के लिए बड़ी संख्या में विंडोज सर्वर हैं (या तकनीकी रूप से, कोई सेवा)।

50

क्यों इसे शुरू में चलाने के लिए निर्धारित शेड्यूल किए गए कार्य के रूप में सेट नहीं किया गया है?

+1

मेरे पास रोबोकॉपी के माध्यम से बैकअप करने वाली कई बैच फ़ाइलें हैं जो मैं विन 2003 सर्वर पर चल रहे अनुसूचित कार्यों (नियंत्रण कक्ष, अनुसूचित कार्य पर जाएं) के माध्यम से शुरू करता हूं। एक इलाज करता है ... – SAL

+0

बस यह एक स्क्रिप्ट के साथ किया जो हम अपनी बैकअप सेवा की निगरानी के लिए उपयोग करते थे। यह एक सम्मोहन की तरह काम करता है। – music2myear

+0

यह सबसे अच्छा समाधान आईएमओ है। कोई तृतीय पक्ष सॉफ़्टवेयर आवश्यक नहीं है और कोई कमांड लाइन इंटरफ़ेस नहीं है। इसके अलावा टास्क शेड्यूलर ट्रिगर्स, परिस्थितियों इत्यादि के लिए बहुत सारे विकल्प प्रदान करता है – dev

1

AlwaysUp आसानी से आपकी बैच फ़ाइल को सेवा के रूप में चलाएगा। यह फायरडेमॉन (ऊपर उल्लिखित) के समान है और यह मुफ़्त नहीं है, लेकिन आप एक समृद्ध सुविधा को पेशेवर वातावरण में एक संपत्ति के रूप में स्थापित कर सकते हैं।

शुभकामनाएं!

100

NSSM, पूरी तरह से मुक्त और अति आसान है व्यवस्थापक के रूप में कमांड प्रॉम्प्ट/टर्मिनल चल:

nssm install "YourCoolServiceNameLabel" 

तो एक संवाद तो आप चुन सकते हैं जहां फ़ाइल आप चलाना चाहते हैं है दिखाई देगा।

nssm remove "YourCoolServiceNameLabel" 
+14

+1 इस बारे में कभी नहीं सुना लेकिन यह बहुत अच्छा है। एनएसएसएम वास्तव में चूसना नहीं है! –

+3

हे भगवान! यह उपकरण उत्कृष्ट है! तुमने मुझे बचाया। धन्यवाद। –

+0

ने मुझे सेवा स्थापित करने के लिए 2 मिनट का समय दिया –

संबंधित मुद्दे