相关疑难解决方法(0)

两个子进程之间的Python管道输出

我正在研究一些通过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秒后就会失效.
我在这里完全是钝的,还是没有办法在像这样的子过程之间进行管道?

编辑:原来我的真实代码中没有主机名.这是做事的正确方法.

python unix subprocess

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×1

subprocess ×1

unix ×1