我需要在輸入通道關閉後執行一些操作。男人fileevent說:無論何時,只要通道被關閉tcl:如何處理通過文件事件讀取的通道關閉
所以,如果一個通道被關閉,該處理器可能不會被調用來處理這個
的文件事件處理程序也被自動刪除。當我嘗試讀取子進程的輸出時,我可以真正看到它:以前的處理程序調用仍然將[eof $ fd]視爲false,而下一個調用從不調用。
我現在可以想象的唯一方法就是執行一些像定期看門狗這樣的黑客行爲,檢查$ fd是否仍然打開,但這非常髒。我可以肯定,當其他閱讀頻道打開時,$ fd不會得到相同的值嗎?
答案在這裏:http://wiki.tcl.tk/fileevent? (一定要點擊「顯示討論」) – 2013-04-21 13:37:36