[ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法

发布时间:2022-06-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了[ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

https://www.cnblogs.com/yeungchie/

Callback 函数

proc Callback { handle } {
    variable line
    if { [catch {gets $handle line}] || [chan eof $handle]} {
        # 这里 gets 当获取失败,或者遇到 End Of File 时,关闭管道
        catch {close $handle}
    } else {
        puts "$line"
        flush stdout
    }
}

先创建一个函数用来接受返回值

启动外部程序

set fh [open "| python SyncViewConfigure.py" r]

这里运行外部程序,并返回 $fh

设置 $fh 为非阻塞模式

chan configure $fh -blocking 0

注册事件触发 Callback 函数

chan event $fh readable [list Callback $fh]

函数输入值为 $fh

脚本宝典总结

以上是脚本宝典为你收集整理的[ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法全部内容,希望文章能够帮你解决[ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: