5Sep
Gli eventi comuni del sistema e / o ambientali come la ripresa dalla modalità standby o la perdita della connessione di rete possono causare problemi ad alcune applicazioni che si aspettano di essere sempre attive e connesse. Quindi se hai una certa applicazione che va in crash o entra in modalità "non risponde" con una certa frequenza e un riavvio è l'unica soluzione per questo, abbiamo una semplice soluzione per te sotto forma di uno script batch personalizzabile per uccidere semplicemente l'applicazione eriavvialo.
Oltre alla situazione ovvia sopra, questo script può essere utilizzato per una serie di attività utili, come ad esempio:
- Riavviare facilmente un'applicazione facendo doppio clic o utilizzando un tasto di scelta rapida.
- Riavvia un programma solo quando è bloccato o non risponde.
- Esegui come operazione pianificata per assicurarsi che un'applicazione sia sempre in esecuzione.
- Ovunque altro si desidera automatizzare il riavvio condizionale di un'applicazione.
La personalizzazione dello script dovrebbe essere abbastanza intuitiva dai commenti, quindi basta configurare lo script in modo appropriato e tutto è pronto.
The Script
@ECHO OFF ECHO Restart Application ECHO Scritto da: Jason Faulkner ECHO SysadminGeek.com ECHO.ECO.SETLOCAL EnableExtensions REM Immettere le informazioni dell'applicazione. SET AppName = Nome applicazione SET ExeFile = FileToLaunch.exe SET ExePath = C: PathToApplication REM Selezionare le condizioni per chiudere l'applicazione. REM Un valore di 1 = Sì, 0 = No SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Specifica quando avviare l'applicazione: REM 1 = Avvia solo se il processo è stato precedentemente ucciso. REM 0 = Avvia l'applicazione indipendentemente. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Successo = 0 ECHO Uccisione esistente% AppName% istanza. .. IF{ % KillIfRunning%} =={ 1} CALL: CheckKillStatus "% ExeFile%""RUNNING" IF{ % KillIfNotResponding%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "NON RISPONDE" IF{ % KillIfUnknownStatus%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "UNKNOWN" ECHO.IF{ % StartOnlyIfKilled%} =={ 1}( IF{ % Success%} =={ 0} GOTO End) ECHO Riavvio% AppName%. .. START "% ExeFile%" "% ExePath %% ExeFile%" ECHO.SE ESIST.% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Uccisione con stato:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F & gt;% KillStatus% SET / P KillResult = & lt;% KillStatus% FOR / F "token = 1, * delim =:" %% A IN( "% KillResult%") DO( ECHO %% A: %% B IF / I{ %% A} =={ SUCCESSO}SET / A Successo =% Successo% + 1): FineConclusione
Mentre è possibile trovare le applicazioni là fuori che svolgono fondamentalmente la stessa funzione, utilizzando uno script semplice come questo evita di avere "ancora un altro programma" in esecuzione in background.