2012-06-14 61 views
0

具體而言,我在批處理文件中使用DGIndex作爲序列的一部分來執行一些視頻編碼。確保應用程序在批處理文件中關閉

儘管接受CLI參數,DGIndex彈出一個窗口來執行處理。這完成後消失,但命令行掛起,好像它仍然是打開的。該過程不再運行。

是否有內置的,我可以做,以確保它沒有掛起,或者是否有第三方代理實用程序,將監視一個進程結束然後關閉自己?

+0

DGIndex完成後,批處理腳本不會繼續執行下一個命令嗎?你能檢查這是否發生?另外,您可以發佈批處理腳本的相關部分以進行分析嗎? –

+0

@EitanT不,腳本掛起,好像等待應用程序完成的回調。該行是: 'dgindex -BF = [vob.txt] -FO = 0 -IA = 2 -OM = 2 -TN = 0 -OF = [out] -HIDE -EXIT' – Dan

回答

0

你可以使用這樣的事情:

@echo off 
echo Running program 
start dgindex -BF=[vob.txt] -FO=0 -IA=2 -OM=2 -TN=0 -OF=[out] -HIDE -EXIT 
ping 127.0.0.1 -n 10 
taskkill /im dgindex.exe /f 
exit >nul 

此批處理文件基本上運行的DGIndex程序,然後試圖關閉程序之前暫停10秒。只要用你選擇的延遲來替換10,這個時間足夠長,以至於如果程序仍在運行,意味着它已經崩潰,那麼在延遲之後它將被關閉。

我敢肯定,你不知道該程序是否掛起(至少不是批量反正)。這至少可以確保它在沒有運行的情況下運行,如果它在崩潰時需要再次運行。

希望這會有所幫助!

0

如果您使用start,批處理文件應在啓動dgindex應用程序後立即返回

您可以通過/WAIT標誌start它告訴它要等到進程已經移動到批處理文件的下一行之前退出。

start /WAIT dgindex -BF=[vob.txt] -FO=0 -IA=2 -OM=2 -TN=0 -OF=[out] -HIDE -EXIT 

我知道這是舊的,但你有沒有想過它?

相關問題