Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

पावरशेल के साथ क्रैश या बंद ऐप/प्रक्रिया को स्वचालित रूप से पुनरारंभ कैसे करें?

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


पहले हमने दिखाया था कि पावरशेल का उपयोग करके विंडोज प्रक्रियाओं को कैसे प्रबंधित किया जाता है। यह सुनिश्चित करने के लिए कि Notepad.exe प्रक्रिया चल रही है और इसे पुनः आरंभ करें, आप नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं:/>{Invoke-Item C:\Windows\notepad.exe
}

यदि यह प्रतिक्रिया नहीं देता है (हैंग हो रहा है) या यदि यह बहुत अधिक मेमोरी (इस उदाहरण में 1000 एमबी से अधिक) का उपयोग करना शुरू कर देता है, तो आप स्वचालित रूप से एक प्रक्रिया को पुनरारंभ कर सकते हैं:

$proc =प्राप्त-प्रक्रिया -नाम नोटपैड| सॉर्ट-ऑब्जेक्ट -प्रॉपर्टी प्रोसेसनाम -अद्वितीय
अगर (($proc.Responding -eq $false) -या ($proc.WorkingSet -GT 1000000*1024)} {
$proc.Kill()
स्टार्ट-स्लीप -s 10
इनवोक-आइटम C:\Windows\notepad.exe
}

PowerShell का उपयोग के लिए लूप, आप एक अंतहीन लूप बना सकते हैं जो एक प्रक्रिया शुरू करता है, हर 60 सेकंड में जांचता है कि क्या यह चल रहा है, और यदि आवश्यक हो तो इसे पुनरारंभ करें:

के लिए(;;){
कोशिश करें{
अगर (!(प्राप्त-प्रक्रिया -नाम नोटपैड -त्रुटि क्रिया चुपचाप जारी रखें))
{Invoke-Item C:\Windows\notepad.exe }
$proc = प्राप्त-प्रक्रिया -नाम नोटपैड | सॉर्ट-ऑब्जेक्ट -प्रॉपर्टी प्रोसेसनाम-अद्वितीय -त्रुटिक्रिया चुपचाप जारी रखें
अगर (!$proc -या ($proc.Responding -eq $false) -या ($proc.WorkingSet -GT 200000*1024)) {
$proc.Kill()
Start-Sleep -s 10
Invoke-Item C:\Windows\notepad.exe}
}
catch    {    }
शुरू करें -स्लीप -एस 60
}

पावरशेल के साथ क्रैश या बंद ऐप/प्रक्रिया को स्वचालित रूप से पुनरारंभ कैसे करें?

यदि आप दूरस्थ कंप्यूटर पर किसी प्रक्रिया की स्थिति जांचना चाहते हैं, तो आप इस आदेश का उपयोग कर सकते हैं:

$proc =प्राप्त-प्रक्रिया -कंप्यूटर नाम WKS-NYC211 -नाम नोटपैड | सॉर्ट-ऑब्जेक्ट-प्रॉपर्टी प्रोसेसनाम-यूनिक-एररएक्शन चुपचाप जारी रखें

दूर से एक प्रक्रिया शुरू करने के लिए, आप Invoke-Command cmdlet का उपयोग कर सकते हैं:

आह्वान-कमांड-कंप्यूटर नाम WKS-NYC211-क्रेडेंशियल $Cred-ScriptBlock {प्रारंभ-प्रक्रिया C:\Windows\notepad.exe - प्रतीक्षा-क्रिया रनस;}

आप इस पॉवरशेल स्क्रिप्ट को उपयोगकर्ता लॉगऑन पर GPO लॉगऑन स्क्रिप्ट के रूप में चला सकते हैं।

फिर पावरशेल कोड को *.PS1 एक्सटेंशन वाली फाइल में सेव करें। आप डिजिटल हस्ताक्षर के साथ स्क्रिप्ट पर हस्ताक्षर कर सकते हैं, पावरशेल निष्पादन नीति सेटिंग बदल सकते हैं, या स्क्रिप्ट को –ExecutionPolicy Bypass के साथ चला सकते हैं। विकल्प।

  • फ़ाइल का नाम:%windir%\System32\WindowsPowerShell\v1.0\powershell.exe
  • चलने के विकल्प:-विंडो शैली छिपी हुई-निष्पादन नीति बाईपास-नोप्रोफाइल-फ़ाइल%~dp0CheckProcess.ps1

आप टास्क शेड्यूलर का उपयोग करके शेड्यूल पर PS1 स्क्रिप्ट भी चला सकते हैं। एक ही रन विकल्पों का उपयोग करें। आप उस उपयोगकर्ता खाते को भी निर्दिष्ट कर सकते हैं जिसे आप इस प्रक्रिया को चलाना चाहते हैं।

$Action =नया-ScheduledTaskAction - "PowerShell.exe" निष्पादित करें - तर्क "-विंडोस्टाइल छुपा हुआ - निष्पादन नीति बाईपास - फ़ाइल %windir%\CheckProcess.ps1"
$Trigger=New-ScheduledTaskTrigger -AtLogon
$Principal=New-ScheduledTaskPrincipal -UserId "jsmith" -LogonType Interactive
$Task=New-ScheduledTask -Action $Action -Trigger $Trigger -Principal $Principal
Register-ScheduledTask -TaskName "चेक नोटपैड प्रक्रिया "-InputObject $Task

या आप इस PowerShell स्क्रिप्ट को Windows सेवा के रूप में चला सकते हैं।

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


  1. पावरशेल के साथ क्रैश या बंद ऐप/प्रक्रिया को स्वचालित रूप से पुनरारंभ कैसे करें?

    आइए जानें कि कोई विशिष्ट एप्लिकेशन या प्रक्रिया चल रही है या नहीं, यह जांचने के लिए पावरशेल का उपयोग कैसे करें; क्रैश के मामले में इसे स्वचालित रूप से कैसे पुनरारंभ करें, यदि उपयोगकर्ता ने इसे गलती से बंद कर दिया है, या यह बड़ी मात्रा में मेमोरी (मेमोरी लीक) का उपभोग करना शुरू कर देता है। {Invoke-

  1. PowerShell या Wevtutil का उपयोग करके Windows ईवेंट लॉग को कैसे साफ़ करें

    कुछ मामलों में कंप्यूटर या सर्वर पर विंडोज इवेंट लॉग से सभी प्रविष्टियों को हटाना आवश्यक है। बेशक, आप इवेंट व्यूअर कंसोल GUI से सिस्टम लॉग साफ़ कर सकते हैं—  Eventvwr.msc (उस लॉग पर राइट-क्लिक करें जिसे आप साफ़ करना चाहते हैं और लॉग साफ़ करें select चुनें ) हालाँकि, विस्टा से शुरू होकर, विंडोज विभिन

  1. मैं एंड्रॉइड ऐप को प्रोग्रामेटिक रूप से "पुनरारंभ" कैसे करूं?

    कुछ स्थितियां हैं, हमें पूरे एप्लिकेशन को प्रोग्रामेटिक रूप से पुनरारंभ करने की आवश्यकता है। यह उदाहरण दर्शाता है कि मैं किसी Android ऐप को प्रोग्रामेटिक रूप से पुनरारंभ कैसे कर सकता हूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने क