कभी-कभी आपको चलते रहने के लिए एक ऐप या स्क्रिप्ट की आवश्यकता होती है, चाहे आपने अपने कंप्यूटर में लॉग इन किया हो या नहीं। हो सकता है कि यह आपके होम नेटवर्क पर किसी पेज को होस्ट करने वाले पोर्ट या वेब सर्वर की निगरानी के लिए पॉवरशेल स्क्रिप्ट हो।
मुद्दा यह है कि यदि आप चाहते हैं कि कोई प्रक्रिया, स्क्रिप्ट या प्रोग्राम तब तक चले, जब तक कि कंप्यूटर चालू है, तो आपको एक Windows सेवा बनानी होगी।
Windows सेवा बनाने के लिए मुझे क्या चाहिए?
Windows 10 में Windows सेवा बनाने के लिए, कुछ पूर्वापेक्षाएँ हैं:
- कंप्यूटर पर व्यवस्थापक पहुंच
- सेवा के रूप में चलाने के लिए कुछ (पॉवरशेल स्क्रिप्ट, प्रोग्राम, आदि)
- गैर चूसने वाला सेवा प्रबंधक (एनएसएसएम) स्थापित
गैर-चूसने वाला सेवा प्रबंधक क्या है?
हां, आप इस तरह का नाम बताए बिना नहीं छोड़ सकते। निश्चित रूप से नाम दुर्भाग्यपूर्ण है, फिर भी यह सटीक है। नॉन-सकिंग सर्विस मैनेजर (NSSM) यकीनन एक विंडोज़ सेवा बनाने का सबसे आसान तरीका है जो अत्यधिक विश्वसनीय और विन्यास योग्य दोनों है। साथ ही, यह मुफ़्त और ओपन सोर्स सॉफ़्टवेयर (ओएसएस) है।
एनएसएसएम का उपयोग विंडोज कमांड प्रॉम्प्ट, या ग्राफिकल यूजर इंटरफेस (जीयूआई) के माध्यम से किया जा सकता है। यानी कोई भी इसका इस्तेमाल कर सकता है। NSSM का उपयोग विंडोज के किसी भी संस्करण पर किया जा सकता है, जिसमें विंडोज 2000 शामिल है और इसमें भी शामिल है। 32-बिट और 64-बिट संस्करण हैं। यदि आप 64-बिट कंप्यूटर का उपयोग कर रहे हैं, तो पहले उस संस्करण को आज़माएं। यदि यह काम नहीं करता है, तो 32-बिट संस्करण पर वापस आएं।
आप वेबसाइट से एनएसएसएम डाउनलोड कर सकते हैं, गिट से एनएसएसएम क्लोन कर सकते हैं या चॉकलेटी के साथ एनएसएसएम स्थापित कर सकते हैं। चॉकलेट विंडोज के लिए एक पैकेज मैनेजर है। आप किस मार्ग पर चलते हैं, इसके आधार पर स्थापना के तरीके अलग-अलग होंगे। कृपया एनएसएसएम के निर्देशों को देखें। हमारे उदाहरण के लिए, हम NSSM वेबसाइट से डाउनलोड कर रहे हैं और इसे C:\WINDOWS\system32 में इंस्टॉल कर रहे हैं ।
NSSM के साथ एक Windows सेवा बनाएं
इस उदाहरण के लिए, हम CPU औसत लोड प्रतिशत लॉग करने के लिए PowerShell स्क्रिप्ट से एक सेवा बनाएंगे।
- इस स्क्रिप्ट को log-CPULloadPercentage.ps1 के रूप में कॉपी और सेव करें ऐसी जगह पर जहां किसी और के पहुंचने की संभावना नहीं है। निर्देशिका बनाने का प्रयास करें C:/Scripts और वहां स्टोर कर रहा है। साथ ही, स्क्रिप्ट में लॉग . नामक फ़ोल्डर बनाएं . ध्यान दें कि स्क्रिप्ट का पथ C:/Scripts/log-CPULLoadPercentage.ps1 है . आपको बाद में इसकी आवश्यकता होगी।
नोट :नीचे दी गई सभी पंक्तियों के बाद # चिह्न टिप्पणी है और यह स्क्रिप्ट को प्रभावित नहीं करेगा।
CLS #Optional. I like to use this to clear the terminal when testing. #Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
- यह Windows कमांड प्रॉम्प्ट में से किसी में भी किया जा सकता है या पावरशेल. इसे व्यवस्थापक के रूप में खोलें।
- आदेश दर्ज करें nssm install logCPUAvg और इसे चलाओ। NSSM सेवा इंस्टॉलर विंडो खुलेगी।
- पथ: . के बगल में स्थित दीर्घवृत्त बटन पर क्लिक करें फ़ील्ड, powershell.exe . पर नेविगेट करें जो आमतौर पर C:\Windows\System32\ . पर स्थित होता है . powershell.exe चुनें। पथ: और स्टार्टअप निर्देशिका: फ़ील्ड स्वचालित रूप से भर जाएंगे।
- निम्न को तर्कों में दर्ज करें: फ़ील्ड:-ExecutionPolicy Bypass-NoProfile-File "C:\PathToScript\get-Script.ps1" , जहां अंतिम भाग आपकी PowerShell स्क्रिप्ट और स्क्रिप्ट नाम का पथ है।
- विवरण का चयन करें टैब। प्रदर्शन नाम: में वह दर्ज करें जो आप Windows सेवा प्रबंधक के रूप में सेवा को दिखाना चाहते हैं:खेत। फिर, यह दर्ज करें कि यह विवरण: . में क्या करता है खेत। स्टार्टअप प्रकार: स्वचालित . के रूप में सेट किया जा सकता है , स्वचालित (विलंबित प्रारंभ) , मैनुअल , या अक्षम . इस अभ्यास के लिए, स्वचालित अच्छा है।
- लॉग ऑन का चयन करें टैब। यह खाता Select चुनें :रेडियो बटन और उस खाते और पासवर्ड को दर्ज करें जो सेवा के रूप में चलेगी। आपको एक खाता चुनना होगा जिसके तहत सेवा चलेगी। आदर्श रूप से, आपके पास केवल इस सेवा को चलाने के लिए बनाया गया एक विंडोज़ खाता होगा। इस खाते की अनुमतियाँ केवल सेवा के लिए आवश्यक चीज़ों तक ही सीमित होनी चाहिए। आप स्थानीय सिस्टम खाता . चुन सकते हैं , लेकिन सुरक्षा कारणों से इसकी अनुशंसा नहीं की जाती है।
कई अन्य टैब हैं जिनका उपयोग सेवा को अनुकूलित करने के लिए किया जा सकता है। इस अभ्यास के लिए, उन टैब में डिफ़ॉल्ट मान पर्याप्त हैं। सेवा स्थापित करें . चुनें बटन।
- सेवा स्थापित होने पर, आपको सेवा “logCPUAvg” सफलतापूर्वक स्थापित दिखाई देगी! खिड़की। ठीक Select चुनें इसे बंद करने के लिए। यह स्थापना समाप्त करता है।
- Windows सेवा प्रबंधक खोलें और सुनिश्चित करें कि सेवा मौजूद है।
- यह सुनिश्चित करने के लिए सेवा चलाएँ कि यह चलेगी।
- यह सत्यापित करने के लिए कि यह सेवा चल रही है, फ़ाइल एक्सप्लोरर . का उपयोग करें यह देखने के लिए कि क्या लॉग मौजूद है या नहीं, वहां नेविगेट करने के लिए लॉग को सहेजा जाना चाहिए।
nssm-check-log.png
NSSM के साथ Windows सेवा निकालना
हो सकता है कि अब आपको अपने CPU लोड की निगरानी करने की आवश्यकता नहीं है, इसलिए आप सेवा से छुटकारा पाना चाहते हैं। सौभाग्य से, NSSM इसे आसान बनाता है।
- Windows सेवा प्रबंधक . में , सेवा बंद करो। CPU औसत लोड लॉग करें . का चयन करके ऐसा करें service फिर या तो टूलबार में स्क्वायर स्टॉप बटन का चयन करना या सेवा बंद करें बाईं ओर लिंक।
- या तो Windows कमांड प्रॉम्प्ट खोलें या पावरशेल प्रशासक के रूप में।
- कमांड दर्ज करें nssm remove logCPUAvg और कमांड निष्पादित करें।
- एनएसएसएम आपसे पुष्टि करने के लिए कहेगा। हां Select चुनें ।
- जब सेवा हटा दी जाती है, तो आप देखेंगे कि सेवा "logCPUAvg" सफलतापूर्वक हटा दी गई है! पुष्टि। ठीक Select चुनें और आपका काम हो गया।
बस इतना ही। यह सुनिश्चित करने के लिए कि सेवा अब नहीं है, सेवा प्रबंधक की जाँच करना एक अच्छा विचार है। यदि आप अभी भी सेवा देखते हैं, तो आपको स्क्रीन को रीफ्रेश करने की आवश्यकता हो सकती है और इसे चला जाना चाहिए।
सेवाएं उन ऐप्स या स्क्रिप्ट को चलाने का एक शानदार तरीका हैं जिन्हें हर समय चलने की आवश्यकता होती है, यदि वे विफल हो जाते हैं, या वर्तमान उपयोगकर्ता से अलग विशेषाधिकारों की आवश्यकता होती है तो स्वयं को पुनरारंभ करें। अगर आपको उन सभी चीजों को करने के लिए अपने ऐप या स्क्रिप्ट की आवश्यकता नहीं है, तो इसके बजाय एक शेड्यूल्ड टास्क का उपयोग करने पर विचार करें।