0
我在Go上写了一个程序,需要调用ssh
作为子进程,但是一旦连接建立起来,就用它来做其他事情。我试图找出如何检查连接是否已正确设置。问题在于我不能等待退出代码,因为直到连接成功,命令才会退出,但如果我不等待,那么可能会分叉进程并执行其他操作,但之后子进程会遇到错误并死亡。我需要的是一种方式来知道,在某个点后,连接已成功建立。例如,一个选项是让ssh建立连接,然后在建立连接之后,fork拥有连接的进程并使主进程返回一个成功代码。但是,我不知道ssh
是否允许这种行为。产生SSH连接但检查状态?
是否有不使用的[SSH软件包(https://godoc.org/golang.org/x/一个原因加密/ SSH)? – user3591723
是的 - 这是一个面向用户的工具,它需要能够读取正常的全局和本地ssh配置,获取命令行标志等。对于我来说,调用ssh二进制文件更加容易。 – joshlf
奇怪的是,当你遇到这样一个基本问题时,它会更容易。看起来很容易,只要给你的程序自己的配置/标志,它适合于它的作用,并且不依赖于你的程序可以访问的ssh二进制文件以及适当的版本。 – user3591723