Eräpaketti ehdoitta käynnistää sovelluksen uudelleen

Sisällysluettelo:

Eräpaketti ehdoitta käynnistää sovelluksen uudelleen
Eräpaketti ehdoitta käynnistää sovelluksen uudelleen

Video: Eräpaketti ehdoitta käynnistää sovelluksen uudelleen

Video: Eräpaketti ehdoitta käynnistää sovelluksen uudelleen
Video: Configure an Enterprise Switch via a serial console port using Putty - YouTube 2024, Maaliskuu
Anonim

Yhteiset järjestelmä- ja / tai ympäristötapahtumat, kuten valmiustilasta jatkaminen tai verkkoyhteyden menettäminen, voivat aiheuttaa ongelmia tietyissä sovelluksissa, jotka odottavat aina olevan kytkettynä ja kytkettyinä. Joten jos sinulla on tietty sovellus, joka kaatuu tai menee "ei vastaamaan" -tilaan jonkin verran ja uudelleenkäynnistys on ainoa korjaus siihen, meillä on yksinkertainen korjaus sinulle muokattavissa olevan komentosarjan avulla, joka yksinkertaisesti tappaa sovelluksen ja Käynnistä se uudelleen.

Edellä kuvatun ilmeisen tilanteen lisäksi tätä skriptiä voidaan käyttää useisiin hyödyllisiin tehtäviin, kuten:

  • Voit käynnistää sovelluksen uudelleen helposti kaksoisnapsauttamalla tai käyttämällä pikanäppäintä.
  • Käynnistä ohjelma uudelleen vain, kun se on ripustettu tai ei vastaa.
  • Suorita ajoitettu tehtävä varmistaaksesi, että sovellus on aina käynnissä.
  • Missä tahansa muualla haluat automatisoida sovelluksen ehdollisen uudelleenkäynnistyksen.

Komentosarjan mukauttaminen pitäisi olla melko itsestään selittävä kommenttien avulla, joten määritä käsikirjoitus asianmukaisesti ja olette kaikki asetettu.

Käsikirjoitus

@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

johtopäätös

Vaikka löydät sovelluksia, jotka toimivat periaatteessa saman funktion avulla, käytä yksinkertaista komentosarjaa, jolla estetään, että "vielä toinen ohjelma" toimii taustalla.

Suositeltava: