我需要在输入通道关闭后执行一些操作。男人fileevent说:无论何时,只要通道被关闭tcl:如何处理通过文件事件读取的通道关闭
所以,如果一个通道被关闭,该处理器可能不会被调用来处理这个
的文件事件处理程序也被自动删除。当我尝试读取子进程的输出时,我可以真正看到它:以前的处理程序调用仍然将[eof $ fd]视为false,而下一个调用从不调用。
我现在可以想象的唯一方法就是执行一些像定期看门狗这样的黑客行为,检查$ fd是否仍然打开,但这非常脏。我可以肯定,当其他阅读频道打开时,$ fd不会得到相同的值吗?
答案在这里:http://wiki.tcl.tk/fileevent? (一定要点击“显示讨论”) – 2013-04-21 13:37:36