If-Koubou

Skrip Batch untuk Memulai Ulang Aplikasi secara Kondisional

Skrip Batch untuk Memulai Ulang Aplikasi secara Kondisional (Bagaimana caranya)

Sistem umum dan / atau peristiwa lingkungan seperti melanjutkan dari siaga atau kehilangan koneksi jaringan dapat menyebabkan masalah untuk aplikasi tertentu yang berharap akan selalu aktif dan terhubung. Jadi jika Anda memiliki aplikasi tertentu yang mogok atau masuk ke mode "tidak merespons" agak sering dan restart adalah satu-satunya perbaikan untuk itu, kami memiliki perbaikan sederhana untuk Anda dalam bentuk skrip batch yang dapat disesuaikan untuk cukup membunuh aplikasi dan restart itu.

Selain situasi yang jelas di atas, skrip ini dapat digunakan untuk berbagai tugas yang bermanfaat, seperti:

  • Mudah memulai ulang aplikasi dengan mengklik dua kali atau menggunakan kunci panas.
  • Mulai ulang program hanya ketika digantung atau tidak merespons.
  • Jalankan sebagai tugas terjadwal untuk memastikan aplikasi selalu berjalan.
  • Di mana pun Anda ingin mengotomatiskan pengaktifan ulang aplikasi secara bersyarat.

Menyesuaikan skrip harus cukup jelas dengan komentar, jadi cukup konfigurasikan skrip dengan tepat dan Anda siap.

Naskah

@ECHO OFF ECHO Mulai Ulang Aplikasi ECHO Ditulis oleh: Jason Faulkner ECHO SysadminGeek.com ECHO. 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 A nilai 1 = Ya, 0 = Tidak SET KillIfRunning = 1 SET KillIfNotResponding = 1 SET KillIfUnknownStatus = 1 REM Tentukan kapan untuk memulai aplikasi: REM 1 = Mulai hanya jika proses sebelumnya terbunuh. REM 0 = Mulai aplikasi apa pun. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Success = 0 ECHO Membunuh instance% AppName% yang ada ... JIKA % KillIfRunning% == 1 CALL: CheckKillStatus "% ExeFile%" "MENJALANKAN "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% ... MULAI "% ExeFile%" "% ExePath %% ExeFile%" ECHO. JIKA ADA BUKA% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Membunuh dengan 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): Akhiri 

Kesimpulan

Meskipun Anda dapat menemukan aplikasi di luar sana yang berfungsi pada dasarnya sama, menggunakan skrip sederhana seperti ini untuk menghindari "program lain" berjalan di latar belakang.