Domača » kako » Serijski skript za pogojno ponovno zagon aplikacije

    Serijski skript za pogojno ponovno zagon aplikacije

    Skupni sistemski in / ali okoljski dogodki, kot sta ponovni zagon iz stanja pripravljenosti ali izguba omrežne povezave, lahko povzročijo težave za nekatere aplikacije, ki pričakujejo, da bodo vedno vključene in povezane. Torej, če imate določeno aplikacijo, ki se zruši ali preide v način "ne odziva", pogosto in je ponovni zagon edini popravek za to, imamo preprosto popravilo za vas v obliki prilagodljivega skripta, ki preprosto ubije aplikacijo in ponovno zaženite.

    Poleg očitne situacije zgoraj se lahko ta skript uporablja tudi za različne uporabne naloge, kot so:

    • Z lahkoto ponovno zaženite aplikacijo tako, da dvokliknete ali uporabite vročo tipko.
    • Ponovno zaženite program samo, ko je obešen ali se ne odziva.
    • Zaženite kot načrtovano opravilo in se prepričajte, da se aplikacija vedno izvaja.
    • Kjerkoli želite avtomatizirati pogojni ponovni zagon aplikacije.

    Prilagajanje skripta naj bi bilo s komentarji precej samoumevno, zato skript ustrezno konfigurirajte in vsi ste pripravljeni.

    Scenarij

    @ECHO OFF ECHO Ponovni zagon aplikacije ECHO Avtor: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Vnesite podatke o aplikaciji. SET AppName = Ime aplikacije SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Izberite pogoje za ubijanje aplikacije. REM Vrednost 1 = Da, 0 = Ni SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Podajte, kdaj začeti aplikacijo: REM 1 = Začni samo, če je bil postopek predhodno ubit. REM 0 = Zaženite aplikacijo ne glede na to. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Uspeh = 0 ECHO Ubijanje obstoječega% AppName% instance ... IF % KillIfRunning% == 1 POZIV: CheckKillStatus "% ExeFile%" "RUNNING "IF % KillIfNotResponding% == 1 POZIV: CheckKillStatus"% ExeFile% "" NOT RESPONDING "IF % KillIfUnknownStatus% == 1 POZIV: CheckKillStatus"% ExeFile% "" UNKNOWN "ECHO. ČE % StartOnlyIfKilled% == 1 (ČE % uspeh% == 0 GOTO End) ECHO Ponovni zagon% AppName%… START "% ExeFile%" "% ExePath %% ExeFile%" ECHO. Če obstaja% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO ubijanje s statusom:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% SET / P KillResult = < %KillStatus% FOR /F "tokens=1,* delims=:" %%A IN ("%KillResult%") DO ( ECHO %%A:%%B IF /I %%A==SUCCESS SET /A Success=%Success%+1 ) :End 

    Zaključek

    Medtem ko lahko najdete aplikacije tam zunaj, ki opravljajo v bistvu enako funkcijo, z uporabo enostavnega skripta, kot je ta, se izognete temu, da bi se v ozadju izvajal še en program.