Partii skript, mis suudab rakenduse tingimata uuesti käivitada

Sisukord:

Partii skript, mis suudab rakenduse tingimata uuesti käivitada
Partii skript, mis suudab rakenduse tingimata uuesti käivitada
Anonim

Ühised süsteemi- ja / või keskkonnaalased sündmused, nagu ooteseisundi jätkamine või võrguühenduse kaotamine, võivad põhjustada probleeme teatavatel rakendustel, mis eeldavad alati ühendamist ja ühendamist. Nii et kui teil on teatud programm, mis jookseb kokku või läheb mõnevõrra sagedasti režiimi "ei reageeri" ja taaskäivitus on see ainus lahendus, on meil teie jaoks lihtsa lahenduse kohandatav partitscriti abil, et rakendus lihtsalt tappa ja taaskäivitage see uuesti.

Lisaks eespool kirjeldatud ilmsele olukorrale saab seda skripti kasutada mitmesuguste kasulike ülesannete jaoks, näiteks:

  • Rakenduse hõlpsalt taaskäivitamiseks topeltklõpsake või kasutage kiirklahvi.
  • Taaskäivitage programm ainult siis, kui see on riputatud või ei reageeri.
  • Käivitage ajastatud ülesandega, et veenduda, et rakendus töötab alati.
  • Mujal soovite automaatselt rakenduse tingimuslikku taaskäivitamist.

Skripti kohandamine peaks kommentaaridel olema üsna iseenesest mõistetav, nii et lihtsalt konfigureerige skript õigesti ja kõik olete seadistatud.

Skript

@ECHO OFF ECHO Restart Application ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Enter the application information. SET AppName=Application Name SET ExeFile=FileToLaunch.exe SET ExePath=C:PathToApplication REM Select the conditions to kill the application. REM A value of 1 = Yes, 0 = No SET KillIfRunning=1 SET KillIfNotResponding=1 SET KillIfUnknownStatus=1 REM Specify when to start the application: REM 1 = Start only if the process was previous killed. REM 0 = Start the application regardless. SET StartOnlyIfKilled=1 SET KillStatus='%TEMP%KillStatus.tmp.txt' SET Success=0 ECHO Killing existing %AppName% instance… IF {%KillIfRunning%}=={1} CALL:CheckKillStatus '%ExeFile%' 'RUNNING' IF {%KillIfNotResponding%}=={1} CALL:CheckKillStatus '%ExeFile%' 'NOT RESPONDING' IF {%KillIfUnknownStatus%}=={1} CALL:CheckKillStatus '%ExeFile%' 'UNKNOWN' ECHO. IF {%StartOnlyIfKilled%}=={1} ( IF {%Success%}=={0} GOTO End ) ECHO Restarting %AppName%… START '%ExeFile%' '%ExePath%%ExeFile%' ECHO. IF EXIST %KillStatus% DEL /F /Q %KillStatus% ENDLOCAL:CheckKillStatus ECHO Killing with status: %~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

Järeldus

Kuigi leiate rakendusi seal, mis täidavad põhimõtteliselt sama funktsiooni, on lihtsa skripti kasutamine selline, et vältida taustaga "veel ühtki programmi" käivitamist.

Soovitan: