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的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 怎么在excel表中打勾,怎样在excel表中打勾
- sqlserver代理无法启动服务,sqlserver2016代理服务无法启动
- 没有桌面图标的游戏叫什么,没有桌面图标的游戏叫什么游戏
- linux退出浏览器命令 linux如何退出view
- oracle配置文件导出,oracle配置文件tnsnames
- 360胎压安卓机安装,360胎压监测仪plus安装方法
- 视频号粉丝团级别是怎么算的,视频号粉丝牌是什么意思
- vb.net怎么创建 vbnet新建文件夹
- 变量改变没有触发js的简单介绍