दिलचस्प पोस्ट
एनजी-अगर और एनजी-शो / एनजी-छिपाने के बीच अंतर क्या है कैसे एक स्थिर चर के लिए आवंटित स्मृति है? MySQL COUNT DISTINCT JTextArea जोड़ना समस्याएं java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter जब सरल Struts2 अनुप्रयोग शुरू करते हैं कैसे यूनिक्स खोल स्क्रिप्ट को जावा कोड से चलाने के लिए? NSAutoreleasePool autorelease पूल कैसे काम करता है? मैं एंड्रॉइड एप्लिकेशन के सभी बटनों में एक शैली को कैसे लागू करूं? पायथन: urllib2.urlopen कॉल से HTTP हेडर प्राप्त करें? jQuery, सरल मतदान उदाहरण जावास्क्रिप्ट का उपयोग करते हुए टेक्स्ट को उजागर कैसे करें dc.js – एकाधिक कॉलम से पंक्ति चार्ट कैसे बनाएं base64 इनकोडेड छवियों ईमेल हस्ताक्षर में कन्स्ट्रक्टर्स बनाम फैक्टरी तरीके टॉमकेट अनुरोध समयबाह्य

मैं कैसे सत्यापित कर सकता हूं कि कोई Windows सेवा चल रही है या नहीं

मेरे पास सी # में एक एप्लीकेशन है (XP एम्बेडेड पर चल रहा है) जो एक 'वॉचडॉग' से संचार कर रहा है जिसे एक विंडोज सर्विस के रूप में लागू किया गया है जब डिवाइस बूट होता है, तो इस सेवा को शुरू करने के लिए कुछ समय लगता है। मैं जांचना चाहता हूं, मेरे कोड से, अगर सेवा चल रही है मैं यह कैसे हासिल कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "मैं कैसे सत्यापित कर सकता हूं कि कोई Windows सेवा चल रही है या नहीं"

मुझे लगता है कि ऐसा कुछ काम करेगा:

अपने प्रोजेक्ट संदर्भ में सिस्टम। सेवाप्रक्रिया जोड़ें (यह नेट टैब पर है)।

using System.ServiceProcess; ServiceController sc = new ServiceController(SERVICENAME); switch (sc.Status) { case ServiceControllerStatus.Running: return "Running"; case ServiceControllerStatus.Stopped: return "Stopped"; case ServiceControllerStatus.Paused: return "Paused"; case ServiceControllerStatus.StopPending: return "Stopping"; case ServiceControllerStatus.StartPending: return "Starting"; default: return "Status Changing"; } 

संपादित करें: एक विधि sc.WaitforStatus() जो एक वांछित स्थिति और एक समय समाप्त होता है, कभी भी इसका इस्तेमाल नहीं करता है लेकिन यह आपकी आवश्यकताओं के अनुरूप हो सकता है

संपादित करें: एक बार स्थिति प्राप्त करने के बाद, आपको स्थिति फिर से प्राप्त करने के लिए आपको sc.Refresh()sc.Refresh() पहले कॉल करना होगा।

संदर्भ: .NET में सेवा कंट्रोलर वस्तु।

कृपया .NET में ServiceController ऑब्जेक्ट पर एक नज़र डालें।

यहां आप अपनी स्थानीय मशीन में सभी उपलब्ध सेवाएं और उनकी स्थिति प्राप्त कर सकते हैं।

 ServiceController[] services = ServiceController.GetServices(); foreach(ServiceController service in services) { Console.WriteLine(service.ServiceName+"=="+ service.Status); } 

आप सेवा के साथ अपनी सेवा की तुलना कर सकते हैं.नाम संपत्ति के भीतर पाश और आप अपनी सेवा की स्थिति प्राप्त करते हैं। विवरण के लिए http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx के साथ भी जाएं http://msdn.microsoft.com/en-us/library/microsoft.windows.design .servicemanager (v = vs.90) .aspx