具體而言,我在批處理文件中使用DGIndex作爲序列的一部分來執行一些視頻編碼。確保應用程序在批處理文件中關閉
儘管接受CLI參數,DGIndex彈出一個窗口來執行處理。這完成後消失,但命令行掛起,好像它仍然是打開的。該過程不再運行。
是否有內置的,我可以做,以確保它沒有掛起,或者是否有第三方代理實用程序,將監視一個進程結束然後關閉自己?
具體而言,我在批處理文件中使用DGIndex作爲序列的一部分來執行一些視頻編碼。確保應用程序在批處理文件中關閉
儘管接受CLI參數,DGIndex彈出一個窗口來執行處理。這完成後消失,但命令行掛起,好像它仍然是打開的。該過程不再運行。
是否有內置的,我可以做,以確保它沒有掛起,或者是否有第三方代理實用程序,將監視一個進程結束然後關閉自己?
你可以使用這樣的事情:
@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,這個時間足夠長,以至於如果程序仍在運行,意味着它已經崩潰,那麼在延遲之後它將被關閉。
我敢肯定,你不知道該程序是否掛起(至少不是批量反正)。這至少可以確保它在沒有運行的情況下運行,如果它在崩潰時需要再次運行。
希望這會有所幫助!
如果您使用start
,批處理文件應在啓動dgindex應用程序後立即返回。
您可以通過/WAIT
標誌start
它告訴它要等到進程已經移動到批處理文件的下一行之前退出。
start /WAIT dgindex -BF=[vob.txt] -FO=0 -IA=2 -OM=2 -TN=0 -OF=[out] -HIDE -EXIT
我知道這是舊的,但你有沒有想過它?
DGIndex完成後,批處理腳本不會繼續執行下一個命令嗎?你能檢查這是否發生?另外,您可以發佈批處理腳本的相關部分以進行分析嗎? –
@EitanT不,腳本掛起,好像等待應用程序完成的回調。該行是: 'dgindex -BF = [vob.txt] -FO = 0 -IA = 2 -OM = 2 -TN = 0 -OF = [out] -HIDE -EXIT' – Dan