[ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法
2022/5/4 9:13:23
本文主要是介绍[ 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 ] 非阻塞模式启动外部程序,并接收返回值的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26高性能表格工具VTable总体构成-icode9专业技术文章分享
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享
- 2024-04-14result 成功怎么写-icode9专业技术文章分享
- 2024-04-14stopped 状态设置为变量,由外部传递进来-icode9专业技术文章分享
- 2024-04-14为什么ansible执行远程脚本需要放到后台-icode9专业技术文章分享