1
我有tcl(myscript.tcl)腳本有while {1}
循環,它通過另一個tcl腳本(test.tcl)調用(執行)。並且如果因爲while循環而導致myscript.tcl卡住,那麼如何在特定時間段(例如10秒)之後使用test.tcl終止TCL如何結束無限循環
我有tcl(myscript.tcl)腳本有while {1}
循環,它通過另一個tcl腳本(test.tcl)調用(執行)。並且如果因爲while循環而導致myscript.tcl卡住,那麼如何在特定時間段(例如10秒)之後使用test.tcl終止TCL如何結束無限循環
如果在下級解釋器中運行腳本myscript.tcl
,則可以設置通過interp limit
執行,以便兒童口譯員不能永遠繼續;當達到限制時,會產生一個錯誤,該錯誤向外部管理解釋器出現。我們明確地測試支持限制的代碼是否可以擺脫無限循環。
set helper [interp create]
# You might need to do some more setup here; do that before setting up the limit
interp limit $helper time -seconds [expr {[clock seconds] + 10}]
catch {interp eval $helper [list source myscript.tcl]}
當你說通過另一個tcl腳本調用它時,你的意思是通過'exec'還是調用過程? – Dinesh
更好的方法是可以在從機本身執行驗證並將結果返回給主機,以便與其一起玩。 – Dinesh
通過另一個tcl腳本調用意味着通過源myscript.tcl –