2016-04-11 25 views
1

Geçerli programım görevlerini yerine getirdikten sonra kendini kapatır, toplu iş dosyası 60 saniye sonra yeniden başlatır. Sorun şu ki program bazen kendini kapatamıyor ve her şey sıkıştı.Otomatik bir program toplu iş ile yeniden başlatılıyor

Komut dosyasını değiştirmem gerekiyor, bu nedenle program kendini kapatmıyorsa 5 dakika sonra otomatik olarak yeniden başlatılacaktır.

Örneğin calc.exe işlem çalıştıran olup olmadığını her 5 dakika boyunca kontrol edin:

:launch 

START /wait program.exe 

rem delay 60 seconds 
ping 127.0.0.1 -n 60 > nul 

GOTO :launch 
+0

Yani "taskkill" komutunu mu arıyorsunuz? – aschipfl

+0

Eğer program kendi kendine kapanmıyorsa, bunu 5 dakika sonra mevcut toplu komut dosyasına nasıl yükleyebilirim? – Kevin

+0

Öncelikle '/ WAIT' anahtarını' start' komutundan kaldırın; Gecikmeden sonra ('ping'),' 'taskkill/FI '' durumu IMAGENAME eq program.exe' '; ayrıca kullanım bilgisi için bir komut istemi penceresine 'taskkill /?' yazın; 'tasklist' komutu aynı filtreleri destekler ('/FI' anahtarı), bu komutu zararsız testler için kullanabilirsiniz ... – aschipfl

cevap

1

Böyle bir şey yapabilirsiniz.

@echo off 
Mode con cols=55 lines=3 
:CheckRunningProcess 
Cls 
echo(
Set "MyProcess=calc.exe" 
Title Check for Running Process "%MyProcess%" 
tasklist /NH /FI "imagename eq %MyProcess%" 2>nul |find /i "%MyProcess%" >nul 
If not errorlevel 1 (Color 0A & Echo     "%MyProcess%" is running 
) else (Color 0C & echo "%MyProcess%" is not running, so we start it right now & start "" "%MyProcess%") 
TimeOut /T 300 /NoBreak >nul 
Goto :CheckRunningProcess 
İlgili konular