panic(err)
}
defer terminal.Restore(fd, oldState)
// excute command
session.Stdout = os.Stdout
session.Stderr = os.Stderr
session.Stdin = os.Stdin
termWidth, termHeight, err := terminal.GetSize(fd)
if err != nil {
panic(err)
}
// Set up terminal modes
modes := ssh.TerminalModes{
ssh.ECHO:1, // enable echoing
ssh.TTY_OP_ISPEED: 14400, // input speed = 14.4kbaud
ssh.TTY_OP_OSPEED: 14400, // output speed = 14.4kbaud
}
// Request pseudo terminal
if err := session.RequestPty("xterm-256color", termHeight, termWidth, modes); err != nil {
log.Fatal(err)
}
session.Run("top")
}
总结
好了,这样就可以执行交互式命令了,比如上面的 top 也可以通过 vi /etc/nginx/nignx.conf 之类的命令来远程编辑文件 。
go语言TCP连接池rocket049/connpool使用安装:
go get -v -u github.com/rocket049/connpool
go get -v -u gitee.com/rocket049/connpool
rocket049/connpool 包是本人用go语言开发的,提供一个通用的TCP连接池,初始化参数包括最高连接数、超时秒数、连接函数,放回连接池的连接被重新取出时,如果已经超时,将会自动重新连接;如果没有超时,连接将被复用 。
可调用的函数:
调用示例:
【go语言获取tcp服务 go tcp read】关于go语言获取tcp服务和go tcp read的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
- redis怎么获取list的值 redis中存取list
- 如何获取云服务器的源代码? 云服务器源代码怎么弄
- mysqli获取所有数据 mysql的提取函数
- mongodb添加节点 mongodb获取主节点ip
- 将数据保存到文件中c语言 将数据保存到mongodb
- mysql中更新数据的命令 mysql获取更新前数据
- redis取值偶尔取不到 redis获取键出现乱码
- redis获取所有key和value命令 redis获取属性为空
- 罗布人村天气 mysql语言具有的功能
- redis编程语言 redis对应c语言
