假的长时间运行的程序:
proc long_job {} { puts "long_job start" puts "- after 1s start" after 1000 puts "- after 1s start" after 1000 puts "- after 1s start" after 1000 puts "- after 1s start" after 1000 puts "- after 1s start" after 1000 puts "- after 2s start" after 2000 puts "long_job end" } long_job
实现:
namespace eval my {} proc my_jobReader {pipe} { if [eof $pipe] { if [catch {close $pipe} err] { puts $err set my::jobError "true" } set my::jobDone "true" return } puts [gets $pipe] } proc my_doJob {job} { set my::jobDone "false" set my::jobError "false" set pipe [open |$job] fileevent $pipe readable [list my_jobReader $pipe] vwait my::jobDone if {$my::jobError == "true"} { return -code error } } puts "general run" catch {exec tclsh long_job.tcl} out puts $out; puts "general run end" puts "" puts "" puts "" puts "do my_doJob" my_doJob {tclsh long_job.tcl} puts "do my_doJob end"
运行:
tclsh t.tcl
可以发现,general run是运行完才打印的。
使用my_doJob可以运行同时打印。
相关推荐
重定向标准输出STDOUT的内容到文本框的demo
stdout.txt
分享一个JAVA StdOut的工具类,此工具类主要用于输出等一系列变换,推荐大家在我博客百度云盘下载。
今天小编就为大家分享一篇Python中的sys.stdout.write实现打印刷新功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
/usr/bin/env pythonimport syssys.stdout.write(“stdout1 “)sys.stderr.write(“stderr1 “)sys.stdout.write(“stdout2 “)sys.stderr.write(“stderr2 “)其中的sys.stdout.write也可以换成print。运行这程序,...
主要介绍了详解使用python的logging模块在stdout输出的相关资料,需要的朋友可以参考下
从输出中stdout.trim(),因此您不必执行stdout.trim() 。 支持二进制跨平台。 更高的最大缓冲区。 100 MB,而不是200 KB。 从stdout和stderr,类似于在终端上打印的stderr 。 更多描述性错误。 安装 $ npm ...
你的程序中有个方法会输出到标准输出中(sys.stdout)。也就是说它会将文本打印到屏幕上面。 你想写个测试来证明它,给定一个输入,相应的输出能正常显示出来。 解决方案 使用 unittest.mock 模块中的 patch() 函数...
《算法》中,使用StdOut.printf () 语句需要的algs4.jar文件 下载及配置。《算法》第四版的jar包08-02 《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握...
检查stdout或stderr是否是交互式的
在stdout的markdown中获取一个gif。
前端开源库-meta-execmeta exec,用于执行标准格式的同步命令到stdout的meta的exec插件
piper - 一个小devtool,旨在通过安全连接(TLS)从进程立即共享stdout
本人偶得在 Visual C++ 中进行输入输出重定向的办法,比通常的做法“freopen”更加的灵活和方便,特在此共享。目前,代码正在不断地摸索和完善中,先把“输出”(stdout)部分提供给大家
很多时候,我们为了方便调试,常常需要加入一些打印。 例如 Qt 中的 QDebug,C 和 C++ 中的 printf / ... 因此,需要一种能统一和标准化所有标准打印的方法( 所谓标准打印即标准输出 stdout ),并且能够动态配置。
is-interactive检查stdout或stderr是否是交互式的它检查流是否为TTY,而不是哑终端,并且不在CI中运行。 这对于决定是否在交互式交互中呈现交互式UI或动画很有用。检查stdout或stderr是否是交互式的。它检查流是TTY...
假执行 假child_process#exec输出以进行测试。安装 $ npm install fake-exec --save用法 // include dependenciesconst fake = require ( 'fake-exec' ) ;const exec = require ( 'child_process' ) . exec ;// set...
可执行链接 执行 shell 命令并返回 promise,以便您可以链接命令安装 npm install --save exec-chainable例子 var exec = require ( 'exec-chainable' ) ;exec ( command ) ; var exec = require ( 'exec-...