Peristiwa sistem dan / atau lingkungan umum seperti melanjutkan dari standby atau kehilangan koneksi jaringan dapat menyebabkan masalah untuk aplikasi tertentu yang diharapkan selalu aktif dan terhubung. Jadi, jika Anda memiliki aplikasi tertentu yang sering mogok atau masuk ke mode "tidak merespons" dan memulai ulang adalah satu-satunya perbaikan untuk itu, kami memiliki perbaikan sederhana untuk Anda dalam bentuk skrip batch yang dapat disesuaikan untuk mematikan aplikasi dan mulai ulang.
Selain situasi yang jelas di atas, skrip ini dapat digunakan untuk berbagai tugas bermanfaat, seperti:
- Mulai ulang aplikasi dengan mudah dengan mengklik dua kali atau menggunakan tombol pintas.
- Mulai ulang program hanya jika macet atau tidak merespons.
- Jalankan sebagai tugas terjadwal untuk memastikan aplikasi selalu berjalan.
- Di mana pun Anda ingin mengotomatiskan restart bersyarat dari suatu aplikasi.
Menyesuaikan skrip harus cukup jelas oleh komentar, jadi cukup konfigurasikan skrip dengan tepat dan Anda sudah siap.
Naskah
@ECHO OFF
Aplikasi ECHO Restart
ECHO Ditulis oleh: Jason Faulkner
ECHO SysadminGeek.com
GEMA.
GEMA.
SETLOCAL EnableExtensions
REM Masukkan informasi aplikasi.
SET AppName = Nama Aplikasi
SET ExeFile = FileToLaunch.exe
SET ExePath = C: PathToApplication
REM Pilih kondisi untuk mematikan aplikasi.
REM Nilai 1 = Ya, 0 = Tidak
SET KillIfRunning = 1
SET KillIfNotResponding = 1
SET KillIfUnknownStatus = 1
REM Tentukan kapan memulai aplikasi:
REM 1 = Mulai hanya jika proses sebelumnya dihentikan.
REM 0 = Tetap jalankan aplikasi.
SET StartOnlyIfKilled = 1
SET KillStatus = "% TEMP% KillStatus.tmp.txt"
SET Sukses = 0
ECHO Membunuh instance% AppName% yang ada ...
JIKA {%KillIfRunning%} == {1} PANGGILAN: CheckKillStatus "% ExeFile%" "RUNNING"
JIKA {%KillIfNotResponding%} == {1} HUBUNGI: CheckKillStatus "% ExeFile%" "NOT RESPONDING"
JIKA {%KillIfUnknownStatus%} == {1} PANGGILAN: CheckKillStatus "% ExeFile%" "TIDAK DIKETAHUI"
GEMA.
JIKA {%StartOnlyIfKilled%} == {1} (
JIKA {%Success%} == {0} GOTO End
)
ECHO Memulai Ulang% AppName% ...
MULAI "% ExeFile%" "% ExePath %% ExeFile%"
GEMA.
JIKA ADA% KillStatus% DEL / F / Q% KillStatus%
ENDLOCAL
: CheckKillStatus
ECHO Killing dengan status:% ~ 2
TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus%
SET / P KillResult = <% KillStatus%
FOR / F "token = 1, * delims =:" %% A IN ("% KillResult%") DO (
ECHO %% A: %% B
IF / I {%%A} == {SUCCESS} SET / A Sukses =% Sukses% + 1
)
:Akhir
Kesimpulan
Meskipun Anda dapat menemukan aplikasi di luar sana yang pada dasarnya menjalankan fungsi yang sama, menggunakan skrip sederhana seperti ini akan menghindari "program lain" berjalan di latar belakang.