5Sep

Script Batch untuk Restart Aplikasi Secara Kondisional

Sistem umum dan / atau kejadian lingkungan seperti melanjutkan dari standby atau kehilangan koneksi jaringan dapat menyebabkan masalah pada aplikasi tertentu yang diharapkan selalu dan terhubung. Jadi jika Anda memiliki aplikasi tertentu yang mogok atau masuk ke mode "tidak merespons" agak sering dan restart adalah satu-satunya perbaikan untuknya, kami memiliki perbaikan sederhana untuk Anda dalam bentuk skrip batch yang dapat disesuaikan untuk sekadar membunuh aplikasi danrestart.

Selain situasi yang jelas di atas, script ini dapat digunakan untuk berbagai tugas yang berguna, seperti:

  • Mudah memulai ulang aplikasi dengan mengklik dua kali atau menggunakan tombol panas.
  • Hidupkan ulang program hanya jika digantung atau tidak merespons.
  • Jalankan sebagai tugas terjadwal untuk memastikan aplikasi selalu berjalan.
  • Di tempat lain Anda ingin mengotomatisasi ulang mode aplikasi secara bersyarat.

Menyesuaikan naskah harus cukup jelas dengan komentarnya, jadi konfigurasikan skripnya dengan tepat dan Anda siap.

Script

@ECHO OFF ECHO Ulangi 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 membunuh 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 prosesnya terbunuh sebelumnya. REM 0 = Jalankan aplikasi apapun. SET StartOnlyIfKilled = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Success = 0 ECHO Membunuh instance% AppName% yang ada. .. IF{ % KillIfRunning%} =={ 1} CALL: CheckKillStatus "% ExeFile%""RUNNING" JIKA{ % KillIfNotResponding%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "TIDAK BERTANGGUNG JAWAB" IF{ % KillIfUnknownStatus%} =={ 1} CALL: CheckKillStatus "% ExeFile%" "UNKNOWN" ECHO.JIKA{ % StartOnlyIfKilled%} =={ 1}( JIKA{ % Success%} =={ 0} GOTO End) ECHO Mulai ulang% AppName%. .. START "% ExeFile%" "% ExePath %% ExeFile%" ECHO.IF EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Membunuh dengan status:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F & gt;% KillStatus% SET / P KillResult = & lt;% Kills%% / F "token = 1, * delims =:" %% A IN( "% KillResult%") DO( ECHO %% A: %% B IF / I{ %% A} =={ SUCCESS}SET / A Success =% Success% + 1): End

Kesimpulan

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