Windows Server’da Bir Programın Çalışıp Çalışmadığını Otomatik Olarak Kontrol Etmek – TASKLIST
Merhabalar, Bugün makalemize konu olan “TASKLIST İşlemleri” bir programın sürekli çalışması gerektiği ancak bir kullanıcı tarafından yanlışlıkla kapatılsa bile hemen müdahale edilerek açılması gerektiğine dair bir ihtiyaçtan doğmuştur.
Aşağıdaki bat komutlarını herhangi bir dosyaya kaydederek bat olarak kaydedebilirsiniz.
ECHO OFF
tasklist /fi “ImageName eq programadi.exe” /fo csv 2>NUL | find /I “programadi.exe”>NUL
if “%ERRORLEVEL%”==”0” (echo Program Calısıyor ) else (
start https://sunucucozumleri.com/
echo Program Calısmıyor)
PAUSE
Örnek komutumuz program eğer çalışmıyorsa sunucucozumleri.com adresine istek atmaktadır. Siz sms veya email göndertebilirsiniz.
Bir işlem veya uygulama (.exe) dosyası verildiğinde, görev, işlemin çalışıp çalışmadığını kontrol eden ve aynı çıktıyı veren bir toplu komut dosyası oluşturmaktır.
Örnek:
Bu örnekte, test.bat adıyla bir toplu komut dosyası oluşturduk. Görev listesi araç setini kullanarak bir işlemin şu anda çalışıp çalışmadığını kolayca kontrol edebiliriz. Görev listesi, mevcut süreçleri kontrol etmemizi sağlar. Aşağıdaki komut dosyasının ifadelerinin her biri aşağıda tartışılmaktadır:
- /fi “” : Bu argüman, bulunması gereken uygulamaların bir filtresini tanımlamak için kullanılır. İşlemi bu nedenle kontrol etmek istediğimiz için, bu *.exe adıdır.
- /fo csv: Bu argüman çıktı biçimini seçmek için kullanılır. csv’nin gerekli olduğunu unutmayın, bunun nedeni yürütülebilir adın çok uzun olduğunda (varsayılan olarak) kesilebilmesidir. Bu nedenle, daha sonra bul ile eşleşmeyecektir.
- find /I: Bu, eşleşmenin büyük/küçük harfe duyarsız eşleşme olduğu anlamına gelir.
- ECHO OFF, PAUSE: Bu komut kullanıcıya soru sormak için kullanılır ve giriş verilene kadar bekler.
- VLC.exe: Bu örnekte, VLC medya oynatıcısını bir süreç olarak kullanıyoruz.
- if “%ERRORLEVEL%”==”0” (echo İşlem / Uygulama çalışıyor): İşlem çalışıyorsa aynısını konsola yazdırın.
- else (echo İşlemi / Uygulama çalışmıyor): Else yazdırma işlemi konsolda çalışmıyor.