我正在研究一些通过SSH来阻止块设备的代码,我想用子进程执行此操作,以便在传输过程中监视DD的状态(使用SIGUSR1终止dd进程以获取其当前状态,并使用选择阅读).
我试图实现的命令是这样的:
dd if=/dev/sda | ssh root@example.com 'dd of=/dev/sda'
Run Code Online (Sandbox Code Playgroud)
我尝试的当前方法是:
dd_process = subprocess.Popen(['dd','if=/dev/sda'],0,None,None,subprocess.PIPE, subprocess.PIPE)
ssh_process = subprocess.Popen(['ssh','root@example.com','dd of=/dev/sda'],0,None,dd_process.stdout)
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,SSH进程在10-40秒后就会失效.
我在这里完全是钝的,还是没有办法在像这样的子过程之间进行管道?
编辑:原来我的真实代码中没有主机名.这是做事的正确方法.
我正在Play中进行一些涉及HTTPS websocket客户端的测试.它正在通过Netty获取HTTPS功能,因此我没有使用任何内置的HTTP类(例如WS命名空间中的任何内容).我想编写几个测试来确保SSL正确连接并正确拒绝无效数据.
我的想法是在使用示例密钥库进行测试期间让Play运行HTTPS,但是在测试中,看起来Play似乎不尊重https.port设置(我在测试期间得到'连接拒绝',但它在开发中工作正常).
我已将此添加到我的build.sbt:
javaOptions in (Test) += "-Dhttps.port=23456"
有没有办法让HTTPS在测试中运行?
我正在编写一些执行http请求的API代码,我一直在使用[NSUrlConnection:sendAsynchronousRequest:queue:completionHandler]进行调用,因为这样可以很容易地编写简单的处理程序,而且我也没有每次调用都必须有不同的代表和不同的代表.
我遇到的问题是,似乎接受自签名证书的唯一方法是让一个委托实现一些函数,证明证书是可以的.有没有办法使用使用块的异步方法?