我想在我的 TCL 脚本中插入睡眠 30 秒。
我尝试使用睡眠命令。但它不起作用。你们中有人能帮忙解决这个问题吗?
你必须使用
after 30000
after
的参数被解释为毫秒。正如Donal Fellows之前在评论中所说,rcubefather的解决方案将在睡眠时停止事件处理。
这是我使用的稍微不同的方法:
after 30000 set stop_wait &
vwait stop_wait
unset stop_wait
这会将“after 30000”命令置于后台(&)等待设置“stop_wait”变量,而任何其他事件处理都不会停止。使用 Tk GUI 时,这种行为更加明显。 但是,这不会阻止“vwait”命令在设置时捕获变量,从而允许这部分代码继续进行。 也不是 CPU 密集型的。
如果您在Linux环境中,则可以使用任何Linux命令。
示例:
puts [date] ; exec sleep 10 ; puts [date]
将产生:
Mon Feb 24 10:09:08 IST 2020
Mon Feb 24 10:09:18 IST 2020
只需在 Linux shell 中输入
which sleep
来确保您有这样的命令。