If-Koubou

Batch skripta za uvjetno ponovno pokretanje aplikacije

Batch skripta za uvjetno ponovno pokretanje aplikacije (Kako da)

Zajednički događaji u sustavu i / ili okolini, kao što su vraćanje iz stanja čekanja ili gubitak mrežne veze mogu uzrokovati probleme za određene aplikacije koje očekuju da će uvijek biti uključeni i povezani. Dakle, ako imate određenu aplikaciju koja se nešto češće srušila ili ušla u način "ne reagira", a samo je ponovno pokretanje, za vas imamo jednostavan popravak u obliku prilagodive skupno pismo za jednostavno ubijanje aplikacije i ponovno ga pokrenite.

Osim očite situacije iznad, ova skripta može se koristiti za različite korisne zadatke, kao što su:

  • Jednostavno ponovo pokrenite aplikaciju dvostrukim klikom ili korištenjem vruće tipke.
  • Ponovno pokrenite program samo kada je obješen ili ne reagira.
  • Pokrenite kao zakazani zadatak da biste bili sigurni da aplikacija uvijek radi.
  • Bilo gdje drugdje želite automatizirati uvjetno ponovno pokretanje aplikacije.

Prilagođavanje skripte trebalo bi biti prilično jasno po komentarima, stoga jednostavno konfigurirati skriptu na odgovarajući način i svi ste postavljeni.

Skripta

@ ECO OFF ECHO Ponovno pokreni prijavu ECHO Napisao: Jason Faulkner ECHO SysadminGeek.com ECHO. JEKA. SETLOCAL EnableExtensions REM Unesite podatke o aplikaciji. SET AppName = Naziv aplikacije SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Odaberite uvjete za ubijanje aplikacije. REM Vrijednost 1 = Da, 0 = Ne SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Odredite kada započeti aplikaciju: REM 1 = Pokreni samo ako je proces bio prethodno ubijen. REM 0 = Pokreni aplikaciju bez obzira. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET uspjeh = 0 ECHO Ubijanje postojećih% AppName% instanca ... IF % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile%" "RUNNING "IF % KillIfNotResponding% == 1 UPIT: CheckKillStatus"% ExeFile% "" NE ODGOVARAJUĆI "IF % KillIfUnknownStatus% == 1 UPIT: CheckKillStatus"% ExeFile% "" UNKNOWN "ECHO. Ako % StartOnlyIfKilled% == 1 (IF % Success% == 0 GOTO End) ECHO Ponovno pokretanje% AppName% ... START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. Ako postoje% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Ubijanje sa statusom:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% SET / P (ECHO %% A: %% B IF / I %% A == KillResult = <% KillStatus% FOR / F "tokena = 1, * delims =:" SUCCESS SET / A Success =% Success% + 1): Završi 

Zaključak

Iako postoje aplikacije koje izvode u osnovi iste funkcije, jednostavna skripta kao što je ovaj izbjegava da se u pozadini izvodi "još jedan program".