[ Tcl ] 非阻塞模式启动外部程序,并接收返回值的方法
2022-05-04 02:55
288 查看
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
相关文章推荐
- C# 启动外部程序的几种方法
- C#启动外部程序以及等待外部程序关闭的几种方法
- C# 启动外部程序的几种方法:
- 简单掌握Windows中C#启动外部程序进程的方法
- C# 启动外部程序的几种方法
- C# 启动外部程序的几种方法
- C# 启动外部程序的几种方法
- [转]C# 启动外部程序的几种方法
- C# 启动外部程序的几种方法
- C# 启动外部程序的几种方法
- C# 启动外部程序的几种方法
- Android中通过外部程序启动App的三种方法
- C# 启动外部程序的几种方法
- C# 启动外部程序的几种方法
- C#启动一个外部程序(方法1) - WinExec
- Android中通过外部程序启动App的三种方法
- C# 启动外部程序的几种常用方法汇总
- Android中通过外部程序启动App的三种方法
- 再别的地方看到的程序中启动外部程序的方法(觉得挺全的,分享下)
- iOS 程序未启动和在前台、后台接收到推送消息的处理方法