作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我生成了一个到主机的 telnet 进程。我发送命令,期待一些事情作为返回。这种情况会持续一段时间。但介于这两者之间交互时,与主机的连接神秘地丢失了,我的脚本在尝试向生成的“发送”某些内容时死亡(现已死亡)远程登录进程。我想编写一个获取生成 ID 和命令的过程作为参数发送。我想检查spawn id是否存在(即程序和主机之间存在连接)在我之前“发送”命令。不然我想退出。像这样的事情:
proc Send {cmd sid} {
if { $sid is not dead yet } { ;## don't know how to do this
part
send -i $sid "$cmd\r"
} else {
puts "channel id: $sid does not exist anymore. Exiting"
exit
}
}
最佳答案
您可以捕获
发送到死进程时send
引发的错误,而不是检查生成的进程是否仍然存在:
proc Send {cmd sid} {
if {[catch {send -i $sid "$cmd\r"} err]} {
puts "error sending to $sid: $err"
exit
}
}
关于tcl - 如何检查 spawn_id 是否还活着? (TCL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16012040/
我是一名优秀的程序员,十分优秀!